adapters.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:trip 作者: littlecodersh 项目源码 文件源码
def send(self, stream=False, timeout=None, verify=True,
             cert=None, proxies=None):
        request = self.request
        connect_timeout, self.read_timeout = parse_timeout(timeout)
        self.stream_body = stream

        # set connect timeout
        with stack_context.ExceptionStackContext(self._handle_exception):
            if connect_timeout:
                self._timeout = self.io_loop.call_later(connect_timeout,
                    stack_context.wrap(functools.partial(
                        self._on_timeout, 'while connecting')))

            # set proxy related info
            proxy = select_proxy(request.url, proxies)
            self.headers = request.headers.copy()
            if proxy:
                proxy = prepend_scheme_if_needed(proxy, 'http')
                parsed = urlparse(proxy)
                scheme, host, port = parsed.scheme, proxy, parsed.port
                port = port or (443 if scheme == 'https' else 80)
                self.start_line = RequestStartLine(request.method, request.url, '')
                self.headers.update(get_proxy_headers(proxy))
            else:
                host, port = None, None
                self.start_line = request.start_line

            self.tcp_client.connect(
                request.host, request.port,
                af=request.af,
                ssl_options=self._get_ssl_options(request, verify, cert),
                max_buffer_size=self.max_buffer_size,
                source_ip=host, source_port=port,
                callback=self._on_connect)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号