3 Re@spddlZddlZddlZddlZddlmZddlmZddlm Z m Z m Z ddZ dd Z Gd d d eZdS) N)msgpack)CaseInsensitiveDict) HTTPResponsepickle text_typecCstj|jdS)Nascii)base64 b64decodeencode)br /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/cachecontrol/serialize.py_b64_decode_bytes srcCst|jdS)Nutf8)rdecode)sr r r_b64_decode_strsrc@sNeZdZdddZddZddZdd Zd d Zd d ZddZ ddZ dS) SerializerNc Cst|j}|dkr*|jdd}tj||_d|tdd|jjD|j|j t |j |j |j di}i|d<d|kr|djd}xB|D]:}t |j}|jj|d}|dk rt |}||d|<qWd jd tj|d d gS) NF)decode_contentresponsecss"|]\}}t|t|fVqdS)N)r).0kvr r r 3sz#Serializer.dumps..)bodyheadersstatusversionreasonstrictrvary,,scc=4T) use_bin_type)rrreadioBytesIO_fpdictitemsrrrrr rsplitstripgetjoinrdumps) selfrequestrrresponse_headersdatavaried_headersheader header_valuer r rr/s.     zSerializer.dumpscCs|sdSy|jdd\}}Wntk r4d}YnX|dddkrR||}d}|jddd jd}yt|dj|||Stk rdSXdS) Nr#rscc=0scc==rz _loads_v{})r+ ValueErrorrgetattrformatAttributeError)r0r1r3verr r rloadsJs 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)r3ztransfer-encodingchunkedrF)rpreload_content) r-r*rpoprr&r' TypeErrorr r)r0r1cachedr5valuebody_rawrrr r rprepare_responsehs  zSerializer.prepare_responsecCsdS)Nr )r0r1r3r r r _loads_v0szSerializer._loads_v0c Cs0ytj|}Wntk r"dSX|j||S)N)rr?r:rI)r0r1r3rFr r r _loads_v1s zSerializer._loads_v1c Csytjtj|jd}Wnttjfk r4dSXt|dd|dd<tdd|ddj D|dd<t |dd|dd<tdd|d j D|d <|j ||S) Nrrrcss"|]\}}t|t|fVqdS)N)r)rrrr r rrsz'Serializer._loads_v2..rrcss.|]&\}}t||dk r t|n|fVqdS)N)r)rrrr r rrsr!) jsonr?zlib decompressrr:errorrr)r*rrI)r0r1r3rFr r r _loads_v2szSerializer._loads_v2cCsdS)Nr )r0r1r3r r r _loads_v3szSerializer._loads_v3c Cs4ytj|dd}Wntk r&dSX|j||S)NF)raw)rr?r:rI)r0r1r3rFr r r _loads_v4s zSerializer._loads_v4)N) __name__ __module__ __qualname__r/r?rIrJrKrPrQrSr r r rrs 4&r)r r&rLrM pip._vendorrZpip._vendor.requests.structuresrcompatrrrrrobjectrr r r rs