Exemplo n.º 1
0
 def __init__(self,
              req_type,
              host,
              port=0,
              on_disconnect=None,
              on_data=None,
              create_connection=None):
     if req_type not in self._dispatch:
         raise ValueError("Unknown request type '{}'".format(req_type))
     if req_type == 'CONNECT' and create_connection is None:
         raise ValueError(
             "create_connection function required for '{}'".format(
                 req_type))
     if not isinstance(host, (bytes, str, six.text_type)):
         raise ValueError("'host' must be text".format(type(host)))
     # XXX what if addr is None?
     self._req_type = req_type
     self._addr = _create_ip_address(six.text_type(host), port)
     self._data = b''
     self._on_disconnect = on_disconnect
     self._create_connection = create_connection
     # XXX FIXME do *one* of these:
     self._on_data = on_data
     self._outgoing_data = []
     # the other side of our proxy
     self._sender = None
     self._when_done = util.SingleObserver()
Exemplo n.º 2
0
 def __init__(self, socks_endpoint, host, port, tls=False):
     self._proxy_ep = socks_endpoint  # can be Deferred
     if six.PY2 and isinstance(host, str):
         host = unicode(host)
     self._host = host
     self._port = port
     self._tls = tls
     self._socks_factory = None
     self._when_address = util.SingleObserver()
Exemplo n.º 3
0
 def __init__(self, *args, **kw):
     self._args = args
     self._kw = kw
     self._host = None
     self._when_connected = util.SingleObserver()