diff options
| author | kimbo <kimballleavitt@gmail.com> | 2019-12-30 16:22:51 -0700 |
|---|---|---|
| committer | kimbo <kimballleavitt@gmail.com> | 2019-12-30 16:22:51 -0700 |
| commit | 27e24bf521aebb297b372f9ca6bb83a4ec9ed2f6 (patch) | |
| tree | 1a502e1f244a976f831c0d287f824294a29451c8 /dns/query.py | |
| parent | 6eb86db61e3e59ad782cb0733bf933ddbb61fb68 (diff) | |
| download | dnspython-27e24bf521aebb297b372f9ca6bb83a4ec9ed2f6.tar.gz | |
send_https() and test for it
Diffstat (limited to 'dns/query.py')
| -rw-r--r-- | dns/query.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/dns/query.py b/dns/query.py index 8f4b1c2..c36248e 100644 --- a/dns/query.py +++ b/dns/query.py @@ -38,6 +38,7 @@ import dns.rcode import dns.rdataclass import dns.rdatatype +import requests from requests_toolbelt.adapters.source import SourceAddressAdapter from requests_toolbelt.adapters.host_header_ssl import HostHeaderSSLAdapter @@ -210,6 +211,19 @@ def _destination_and_source(af, where, port, source, source_port): source = (source, source_port, 0, 0) return (af, destination, source) +def send_https(session, what, lifetime=None): + """ + :param session: a :class:`requests.sessions.Session` + :param what: a :class:`requests.models.Request` or + :class:`requests.models.PreparedRequest`. + If it's a :class:`requests.models.Request`, it will be converted + into a :class:`requests.models.PreparedRequest`. + :param lifetime: timeout (in seconds) + :return: a :class:`requests.models.Response` object. + """ + if isinstance(what, requests.models.Request): + what = what.prepare() + return session.send(what, timeout=lifetime) def https(q, where, session, timeout=None, port=443, path='/dns-query', post=True, bootstrap_address=None, verify=True, source=None, source_port=0, |
