3

T'íc^ã@sndZddlZddlZddlmZddlmZmZmZddl	m
Z
ddlZddlZddl
mZddlmZyddlmZWn ek
r˜ddlmZYnXydd	lmZWn>ek
rèydd	lmZWnek
râdZYnXYnXdgZeedœd
d„Zeeeddœdd„ƒZeeeeefdœdd„Zeedœdd„Zeeejdœdd„Zeeejdœdd„Z dS)zSimple requests package loaderéN)Úcontextmanager)ÚAnyÚ	GeneratorÚUnion)Úurlsplit)ÚConfig)ÚRemovedInSphinx50Warning)ÚSSLError)ÚInsecureRequestWarningú
User-AgentúDMozilla/5.0 (X11; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0)ÚexcÚreturncCsDtjdtƒt|tƒrdSt|dgƒ}|r<t|dtƒr<dSdSdS)zCheck an exception is SSLError.z`is_ssl_error() is outdated and likely returns incorrect results for modern versions of Requests.TÚargsrFN)ÚwarningsÚwarnrÚ
isinstancer	Úgetattr)r
r©rú6/tmp/pip-build-gk9425m9/sphinx/sphinx/util/requests.pyÚis_ssl_error%s
r)Úkwargsrcks<tjƒ*|jdƒr(tr(tjdtddVWdQRXdS)NÚverifyÚignore)Úcategory)rÚcatch_warningsÚgetr
Úfilterwarnings)rrrrÚignore_insecure_warning5s
r)ÚurlÚconfigrcCsb|js
dSt|ddƒ}|sdSt|ttfƒr0|St|ƒd}d|krR|jdƒd}|j|dƒSdS)z§Get additional CA cert for a specific URL.

    This also returns ``False`` if verification is disabled.
    And returns ``True`` if additional CA cert not found.
    FZtls_cacertsNTéú@)Z
tls_verifyrrÚstrÚtuplerÚsplitr)rr ÚcertsÚhostnamerrrÚ_get_tls_cacert>sr()r rc
CsF|jr|jSdjdtjdtjddjtttjdd…ƒƒgƒSdS)Nú z	Sphinx/%szrequests/%sz	python/%sÚ.é)	Ú
user_agentÚjoinÚsphinxÚ__version__ÚrequestsÚmapr#ÚsysÚversion_info)r rrrÚ_get_user_agentTsr4)rrrc
Ksx|jdiƒ}|jddƒ}|r@|jdt||ƒƒ|jdt|ƒƒn|jdtddƒtf|Žtj|f|ŽSQRXdS)zpSends a GET request like requests.get().

    This sets up User-Agent header and TLS verification automatically.Úheadersr Nrz
User-Agentrr!)Ú
setdefaultÚpopr(r4Úuseragent_headerrr0r)rrr5r rrrr_src
Ksx|jdiƒ}|jddƒ}|r@|jdt||ƒƒ|jdt|ƒƒn|jdtddƒtf|Žtj|f|ŽSQRXdS)zrSends a HEAD request like requests.head().

    This sets up User-Agent header and TLS verification automatically.r5r Nrz
User-Agentrr!)r6r7r(r4r8rr0Úhead)rrr5r rrrr9osr9)rr)NNN)!Ú__doc__r2rÚ
contextlibrÚtypingrrrÚurllib.parserr0r.Z
sphinx.configrZsphinx.deprecationrZ$requests.packages.urllib3.exceptionsr	ÚImportErrorZurllib3.exceptionsr
r8Ú	ExceptionÚboolrrr#r(r4ÚResponserr9rrrrÚ<module>s: