Viewing File: /usr/lib/python3.6/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-36.pyc

3

aj@s|ddlZddlZddlZddlZddlmZddlmZmZm	Z	ddZ
ddZd	d
ZddZ
d
dZGdddeZdS)N)CaseInsensitiveDict)HTTPResponsepickle	text_typecCstj|jdS)Nascii)base64Z	b64encodedecode)br/usr/lib/python3.6/serialize.py_b64_encode_bytessr
cCst|jdS)Nutf8)r
encode)srrr_b64_encode_strsrcCst|trt|St|S)N)
isinstancerrr
)rrrr_b64_encodes
rcCstj|jdS)Nr)rZ	b64decoder)r
rrr_b64_decode_bytessrcCst|jdS)Nr)rr	)rrrr_b64_decode_strsrc@s>eZdZdddZddZddZdd	Zd
dZdd
ZdS)
SerializerNc	Cst|j}|dkr*|jdd}tj||_dt|tdd|jjD|j	|j
t|j|j
|jdi}i|d<d|kr|djd}x*|D]"}|j}|jj|d|d|<qWtd	d|djD|d<d
jdtjtj|dd
djdgS)NF)decode_contentresponsecss"|]\}}t|t|fVqdS)N)r).0kvrrr	<genexpr>9sz#Serializer.dumps.<locals>.<genexpr>)bodyheadersstatusversionreasonstrictrvary,css.|]&\}}t||dk	r t|n|fVqdS)N)r)rrrrrrrNs,scc=2:T)Z
separatorsZ	sort_keysr)r$r&)rrreadioBytesIOZ_fpr
dictitemsrr rr!r"rsplitstripgetjoinzlibcompressjsondumpsr)selfrequestrrZresponse_headersdataZvaried_headersheaderrrrr3#s:

zSerializer.dumpscCs|sdSy|jdd\}}Wntk
r4d}YnX|dddkrR||}d}|jddd	jd}yt|dj|||Stk
rdSXdS)
Nr%rscc=0scc==rz_loads_v{0})r,
ValueErrorr	getattrformatAttributeError)r4r5r6Zverrrrloads[s
zSerializer.loadsc
Csd|jdikrdSx2|jdijD]\}}|jj|d|kr&dSq&W|djd}t|ddd}|jdd	d
kr|jd||dd<ytj|}Wn$tk
rtj|jd}YnXt	f|dd
|dS)z`Verify our vary headers match and construct a real urllib3
        HTTPResponse object.
        *r#Nrrr)r6ztransfer-encodingZchunkedrF)rZpreload_content)
r.r+rpoprr(r)	TypeErrorrr)r4r5cachedr7valueZbody_rawrrrrrprepare_responsexs$
zSerializer.prepare_responsecCsdS)Nr)r4r5r6rrr	_loads_v0szSerializer._loads_v0cCs0ytj|}Wntk
r"dSX|j||S)N)rr?r;rF)r4r5r6rDrrr	_loads_v1s
zSerializer._loads_v1cCsytjtj|jd}Wntk
r.dSXt|dd|dd<tdd|ddjD|dd<t	|dd|dd<tdd|d	jD|d	<|j
||S)
Nrrrcss"|]\}}t|t|fVqdS)N)r)rrrrrrrsz'Serializer._loads_v2.<locals>.<genexpr>rr!css.|]&\}}t||dk	r t|n|fVqdS)N)r)rrrrrrrsr#)r2r?r0Z
decompressr	r;rr*r+rrF)r4r5r6rDrrr	_loads_v2szSerializer._loads_v2)N)	__name__
__module____qualname__r3r?rFrGrHrIrrrrr!s
8(r)rr(r2r0Zpip._vendor.requests.structuresrcompatrrrr
rrrrobjectrrrrr<module>s
Back to Directory File Manager