def _setup_parser(self): self._http_parser = HTTPParser(self._transport) self._parser_handles.append(self._http_parser.connect("received", self._on_response_received)) self._transport_handles.append(self._transport.connect("notify::status", self._on_status_change)) self._transport_handles.append(self._transport.connect("error", self._on_error)) self._transport_handles.append(self._transport.connect("sent", self._on_request_sent))
def _setup_transport(self): if self._transport is None: if self.__proxy is not None: self._transport = TCPClient(self.__proxy.host, self.__proxy.port) else: self._transport = TCPClient(self._host, self._port) self._http_parser = HTTPParser(self._transport) self._http_parser.connect("received", self._on_response_received) self._transport.connect("notify::status", self._on_status_change) self._transport.connect("error", self._on_error) self._transport.connect("sent", self._on_request_sent) if self._transport.get_property("status") != IoStatus.OPEN: self._transport.open()
def __init__(self, client, proxy_infos): assert (proxy_infos.type in ( 'http', 'https')), "HTTPConnectProxy expects an http(s) proxy description" assert (client.domain == AF_INET ), "HTTP CONNECT only handles INET address family" assert (client.type == SOCK_STREAM ), "HTTP CONNECT only handles SOCK_STREAM" assert (client.status == IoStatus.CLOSED ), "HTTPConnectProxy expects a closed client" AbstractProxy.__init__(self, client, proxy_infos) self._transport = TCPClient(self._proxy.host, self._proxy.port) self._transport.connect("notify::status", self._on_transport_status) self._transport.connect("error", self._on_transport_error) self._http_parser = HTTPParser(self._transport) self._http_parser.connect("received", self._on_proxy_response)