Example #1
0
 def __init__(
     self,
     proxy_info=None,
     cache=None,
     headers=None,
     encode_multipart=True,
     multipart_boundary=None,
     keyfile=None,
     certfile=None,
     cert_reqs=CERT_NONE,
     ca_certs=None,
     cookies=None,
     store_cookies=True,
     max_redirects=10,
     decompress=True,
     version=None,
     websocket_handler=None,
     parser=None,
     trust_env=True,
     loop=None,
     client_version=None,
     timeout=None,
     pool_size=10,
     frame_parser=None,
 ):
     super().__init__(loop)
     self.client_version = client_version or self.client_version
     self.connection_pools = {}
     self.pool_size = pool_size
     self.trust_env = trust_env
     self.timeout = timeout
     self.store_cookies = store_cookies
     self.max_redirects = max_redirects
     self.cookies = cookiejar_from_dict(cookies)
     self.decompress = decompress
     self.version = version or self.version
     dheaders = self.DEFAULT_HTTP_HEADERS.copy()
     dheaders["user-agent"] = self.client_version
     if headers:
         dheaders.override(headers)
     self.headers = dheaders
     self.tunnel_headers = self.DEFAULT_TUNNEL_HEADERS.copy()
     self.proxy_info = dict(proxy_info or ())
     if not self.proxy_info and self.trust_env:
         self.proxy_info = get_environ_proxies()
         if "no" not in self.proxy_info:
             self.proxy_info["no"] = ",".join(self.no_proxy)
     self.encode_multipart = encode_multipart
     self.multipart_boundary = multipart_boundary or choose_boundary()
     self.websocket_handler = websocket_handler
     self.https_defaults = {"keyfile": keyfile, "certfile": certfile, "cert_reqs": cert_reqs, "ca_certs": ca_certs}
     self.http_parser = parser or http_parser
     self.frame_parser = frame_parser or websocket.frame_parser
     # Add hooks
     self.bind_event("pre_request", Tunneling(self._loop))
     self.bind_event("on_headers", handle_101)
     self.bind_event("on_headers", handle_100)
     self.bind_event("on_headers", handle_cookies)
     self.bind_event("post_request", handle_redirect)
Example #2
0
 def __init__(self,
              proxy_info=None,
              cache=None,
              headers=None,
              encode_multipart=True,
              multipart_boundary=None,
              keyfile=None,
              certfile=None,
              verify=True,
              ca_certs=None,
              cookies=None,
              store_cookies=True,
              max_redirects=10,
              decompress=True,
              version=None,
              websocket_handler=None,
              parser=None,
              trust_env=True,
              loop=None,
              client_version=None,
              timeout=None,
              pool_size=10,
              frame_parser=None):
     super().__init__(loop)
     self.client_version = client_version or self.client_version
     self.connection_pools = {}
     self.pool_size = pool_size
     self.trust_env = trust_env
     self.timeout = timeout
     self.store_cookies = store_cookies
     self.max_redirects = max_redirects
     self.cookies = cookiejar_from_dict(cookies)
     self.decompress = decompress
     self.version = version or self.version
     self.verify = verify
     dheaders = self.DEFAULT_HTTP_HEADERS.copy()
     dheaders['user-agent'] = self.client_version
     if headers:
         dheaders.override(headers)
     self.headers = dheaders
     self.tunnel_headers = self.DEFAULT_TUNNEL_HEADERS.copy()
     self.proxy_info = dict(proxy_info or ())
     if not self.proxy_info and self.trust_env:
         self.proxy_info = get_environ_proxies()
         if 'no' not in self.proxy_info:
             self.proxy_info['no'] = ','.join(self.no_proxy)
     self.encode_multipart = encode_multipart
     self.multipart_boundary = multipart_boundary or choose_boundary()
     self.websocket_handler = websocket_handler
     self.http_parser = parser or http_parser
     self.frame_parser = frame_parser or websocket.frame_parser
     # Add hooks
     self.bind_event('pre_request', Tunneling(self._loop))
     self.bind_event('on_headers', handle_101)
     self.bind_event('on_headers', handle_100)
     self.bind_event('on_headers', handle_cookies)
     self.bind_event('post_request', handle_redirect)
Example #3
0
 def __init__(self, proxy_info=None, cache=None, headers=None,
              encode_multipart=True, multipart_boundary=None,
              keyfile=None, certfile=None, cert_reqs=CERT_NONE,
              ca_certs=None, cookies=None, store_cookies=True,
              max_redirects=10, decompress=True, version=None,
              websocket_handler=None, parser=None, trust_env=True,
              loop=None, client_version=None, timeout=None,
              pool_size=10, green=False):
     super(HttpClient, self).__init__(loop)
     self.client_version = client_version or self.client_version
     self.connection_pools = {}
     self.pool_size = pool_size
     self.trust_env = trust_env
     self.timeout = timeout
     self.store_cookies = store_cookies
     self.max_redirects = max_redirects
     self.cookies = cookiejar_from_dict(cookies)
     self.decompress = decompress
     self.version = version or self.version
     self.green = green and greenio
     dheaders = self.DEFAULT_HTTP_HEADERS.copy()
     dheaders['user-agent'] = self.client_version
     if headers:
         dheaders.override(headers)
     self.headers = dheaders
     self.tunnel_headers = self.DEFAULT_TUNNEL_HEADERS.copy()
     self.proxy_info = dict(proxy_info or ())
     if not self.proxy_info and self.trust_env:
         self.proxy_info = get_environ_proxies()
         if 'no' not in self.proxy_info:
             self.proxy_info['no'] = ','.join(self.no_proxy)
     self.encode_multipart = encode_multipart
     self.multipart_boundary = multipart_boundary or choose_boundary()
     self.websocket_handler = websocket_handler
     self.https_defaults = {'keyfile': keyfile,
                            'certfile': certfile,
                            'cert_reqs': cert_reqs,
                            'ca_certs': ca_certs}
     self.http_parser = parser or http_parser
     # Add hooks
     self.bind_event('pre_request', Tunneling(self._loop))
     self.bind_event('on_headers', handle_101)
     self.bind_event('on_headers', handle_100)
     self.bind_event('on_headers', handle_cookies)
     self.bind_event('post_request', handle_redirect)
     # greenlet
     if self.green:
         self.request = partial(green_request, self.request)
Example #4
0
 def __init__(self, proxies=None, cache=None, headers=None,
              encode_multipart=True, multipart_boundary=None,
              keyfile=None, certfile=None, verify=True,
              ca_certs=None, cookies=None, store_cookies=True,
              max_redirects=10, decompress=True, version=None,
              websocket_handler=None, parser=None, trust_env=True,
              loop=None, client_version=None, timeout=None, stream=False,
              pool_size=10, frame_parser=None, logger=None,
              close_connections=False):
     super().__init__(loop)
     self._logger = logger or LOGGER
     self.client_version = client_version or self.client_version
     self.connection_pools = {}
     self.pool_size = pool_size
     self.trust_env = trust_env
     self.timeout = timeout
     self.store_cookies = store_cookies
     self.max_redirects = max_redirects
     self.cookies = cookiejar_from_dict(cookies)
     self.decompress = decompress
     self.version = version or self.version
     self.verify = verify
     self.stream = stream
     self.close_connections = close_connections
     dheaders = self.DEFAULT_HTTP_HEADERS.copy()
     dheaders['user-agent'] = self.client_version
     if headers:
         dheaders.override(headers)
     self.headers = dheaders
     self.tunnel_headers = self.DEFAULT_TUNNEL_HEADERS.copy()
     self.proxies = dict(proxies or ())
     if not self.proxies and self.trust_env:
         self.proxies = get_environ_proxies()
         if 'no' not in self.proxies:
             self.proxies['no'] = ','.join(self.no_proxy)
     self.encode_multipart = encode_multipart
     self.multipart_boundary = multipart_boundary or choose_boundary()
     self.websocket_handler = websocket_handler
     self.http_parser = parser or http_parser
     self.frame_parser = frame_parser or websocket.frame_parser
     # Add hooks
     self.bind_event('finish', self._close)
     self.bind_event('pre_request', Tunneling(self._loop))
     self.bind_event('pre_request', WebSocket())
     self.bind_event('on_headers', handle_cookies)
     self.bind_event('post_request', Redirect())
Example #5
0
 def setup(self, proxy_info=None, cache=None, headers=None,
           encode_multipart=True, multipart_boundary=None,
           keyfile=None, certfile=None, cert_reqs=CERT_NONE,
           ca_certs=None, cookies=None, store_cookies=True,
           max_redirects=10, decompress=True, version=None,
           websocket_handler=None, parser=None):
     self.store_cookies = store_cookies
     self.max_redirects = max_redirects
     self.cookies = cookiejar_from_dict(cookies)
     self.decompress = decompress
     self.version = version or self.version
     dheaders = self.DEFAULT_HTTP_HEADERS.copy()
     dheaders['user-agent'] = self.client_version
     if headers:
         dheaders.override(headers)
     self.headers = dheaders
     self.tunnel_headers = self.DEFAULT_TUNNEL_HEADERS.copy()
     self.proxy_info = dict(proxy_info or ())
     if not self.proxy_info and self.trust_env:
         self.proxy_info = get_environ_proxies()
         if 'no' not in self.proxy_info:
             self.proxy_info['no'] = ','.join(self.no_proxy)
     self.encode_multipart = encode_multipart
     self.multipart_boundary = multipart_boundary or choose_boundary()
     self.websocket_handler = websocket_handler
     self.https_defaults = {'keyfile': keyfile,
                            'certfile': certfile,
                            'cert_reqs': cert_reqs,
                            'ca_certs': ca_certs}
     self.http_parser = parser or http_parser
     # Add hooks
     self.bind_event('pre_request', Tunneling())
     self.bind_event('on_headers', handle_101)
     self.bind_event('on_headers', handle_100)
     self.bind_event('on_headers', handle_cookies)
     self.bind_event('post_request', handle_redirect)