File: //lib/python3.6/site-packages/requests/__pycache__/models.cpython-36.pyc
3
[ @ s d Z ddlZddlZddlZddlmZ ddlmZ ddl m
Z
ddlmZm
Z
mZmZ ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZmZmZ dd
lmZmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z%m&Z& ddl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z> ddl2m?Z@ ddlAmBZB eBjCeBjDeBjEeBjFeBjGfZHdZId!ZJdZKG dd deLZMG dd deLZNG dd deNZOG dd deMeNZPG dd d eLZQdS )"z`
requests.models
~~~~~~~~~~~~~~~
This module contains the primary objects that power Requests.
N)RequestField)encode_multipart_formdata) parse_url)DecodeErrorReadTimeoutError
ProtocolErrorLocationParseError)UnsupportedOperation )
default_hooks)CaseInsensitiveDict)
HTTPBasicAuth)cookiejar_from_dictget_cookie_header_copy_cookie_jar) HTTPError
MissingSchema
InvalidURLChunkedEncodingErrorContentDecodingErrorConnectionErrorStreamConsumedError)to_native_stringunicode_is_ascii)
guess_filenameget_auth_from_urlrequote_uristream_decode_response_unicodeto_key_val_listparse_header_linksiter_slicesguess_json_utf super_lencheck_header_validity)CallableMapping cookielib
urlunparseurlsplit urlencodestrbytesis_py2chardetbuiltin_str
basestring)json)codes
i i c @ s0 e Zd Zedd Zedd Zedd ZdS )RequestEncodingMixinc C sN g }t | j}|j}|sd}|j| |j}|rD|jd |j| dj|S )zBuild the path URL to use./? )r( urlpathappendqueryjoin)selfr8 pr9 r; r? /usr/lib/python3.6/models.pypath_url= s
zRequestEncodingMixin.path_urlc C s t | ttfr| S t| dr | S t| drg }x|t| D ]p\}}t |tsVt|d r\|g}xJ|D ]B}|dk rb|jt |tr|jdn|t |tr|jdn|f qbW q8W t|ddS | S dS )zEncode parameters in a piece of data.
Will successfully encode parameters when passed as a dict or a list of
2-tuples. Order is retained if data is a list of 2-tuples but arbitrary
if parameters are supplied as a dict.
read__iter__Nzutf-8T)Zdoseq)
isinstancer* r+ hasattrr r/ r: encoder) )dataresultkZvsvr? r? r@ _encode_paramsR s
$z#RequestEncodingMixin._encode_paramsc C s | st dnt|tr t dg }t|p,i }t| p8i } x|D ]\}}t|ts`t|d rf|g}x\|D ]T}|dk rlt|tst|}|jt|tr|jdn|t|tr|j dn|f qlW qBW x| D ]\}}d}d} t|t
tfr.t|dkr|\}
}n&t|dkr |\}
}}n|\}
}}} nt
|p:|}
|}t|tttfrX|}n(t|drn|j }n|dkr|qn|}t|||
| d }
|
j|d
|j|
qW t|\}}||fS )a Build the body for a multipart/form-data request.
Will successfully encode files when passed as a dict or a list of
tuples. Order is retained if data is a list of tuples but arbitrary
if parameters are supplied as a dict.
The tuples may be 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype)
or 4-tuples (filename, fileobj, contentype, custom_headers).
zFiles must be provided.zData must not be a string.rC Nzutf-8 rB )namerG filenameheaders)content_type)
ValueErrorrD r/ r rE r+ r* r: decoderF tuplelistlenr bytearrayrB r Zmake_multipartr )filesrG Z
new_fieldsZfieldsZfieldvalrJ rI ZftZfhfnfpZfdataZrfbodyrQ r? r? r@
_encode_filesm sP
$
z"RequestEncodingMixin._encode_filesN)__name__
__module____qualname__propertyrA staticmethodrK r] r? r? r? r@ r4 <