Used by ReverseProxy to implement a simple reverse proxy.

Instance Variable proxyClientFactoryClass a proxy client factory class, used to create new connections. (type: ClientFactory)
Instance Variable reactor the reactor used to create connections. (type: object providing twisted.internet.interfaces.IReactorTCP)
Method __init__
Method process Handle this request by connecting to the proxied server and forwarding it there, then forwarding the response back as the response to this request.

Inherited from Request:

Instance Variable method The HTTP method that was used, e.g. b'GET'. (type: bytes)
Instance Variable uri The full encoded URI which was requested (including query arguments), e.g. b'/a/b%20/c?q=v'. (type: bytes)
Instance Variable path The encoded path of the request URI (not including query arguments), e.g. b'/a/b%20/c'. (type: bytes)
Instance Variable args A mapping of decoded query argument names as bytes to corresponding query argument values as lists of bytes. For example, for a URI with foo=bar&foo=baz&quux=spam as its query part args will be {b'foo': [b'bar', b'baz'], b'quux': [b'spam']}. (type: dict of bytes to list of bytes)
Instance Variable content A file-like object giving the request body. This may be a file on disk, an io.BytesIO, or some other type. The implementation is free to decide on a per-request basis. (type: typing.BinaryIO)
Instance Variable cookies The cookies that will be sent in the response. (type: list of bytes)
Instance Variable requestHeaders All received HTTP request headers. (type: http_headers.Headers)
Instance Variable responseHeaders All HTTP response headers to be sent. (type: http_headers.Headers)
Instance Variable notifications A list of Deferreds which are waiting for notification that the response to this request has been finished (successfully or with an error). Don't use this attribute directly, instead use the Request.notifyFinish method.
Method noLongerQueued Notify the object that it is no longer queued.
Method gotLength Called when HTTP channel got length of content in this request.
Method parseCookies Parse cookie headers.
Method handleContentChunk Write a chunk of data.
Method requestReceived Called by channel when all data has been received.
Method __repr__ Return a string description of the request including such information as the request method and request URI.
Method registerProducer Register a producer.
Method unregisterProducer Unregister the producer.
Method getHeader Get an HTTP request header.
Method getCookie Get a cookie that was sent from the network.
Method notifyFinish Notify when the response to this request has finished.
Method finish Indicate that all response data has been written to this Request.
Method write Write some data as a result of an HTTP request. The first time this is called, it writes out response data.
Method addCookie Set an outgoing HTTP cookie.
Method setResponseCode Set the HTTP response code.
Method setHeader Set an HTTP response header. Overrides any previously set values for this header.
Method redirect Utility function that does a redirect.
Method setLastModified Set the Last-Modified time for the response to this request.
Method setETag Set an entity tag for the outgoing response.
Method getAllHeaders Return dictionary mapping the names of all received headers to the last value received for each.
Method getRequestHostname Get the hostname that the user passed in to the request.
Method getHost Get my originally requesting transport's host.
Method setHost Change the host and port the request thinks it's using.
Method getClientIP Return the IP address of the client who submitted this request.
Method getClientAddress Return the address of the client who submitted this request.
Method isSecure Return True if this request is using a secure transport.
Method getUser Return the HTTP user sent with this request, if any.
Method getPassword Return the HTTP password sent with this request, if any.
Method connectionLost There is no longer a connection for this request to respond over. Clean up anything which can't be useful anymore.
Method loseConnection Pass the loseConnection through to the underlying channel.
Method __eq__ Determines if two requests are the same object.
Method __ne__ Determines if two requests are not the same object.
Method __hash__ A Request is hashable so that it can be used as a mapping key.
Instance Variable _disconnected A flag which is False until the connection over which this request was received is closed and which is True after that. (type: bool)
Instance Variable _log A logger instance for request related messages. (type: twisted.logger.Logger)
Method _cleanup Called when have finished responding and are no longer queued.
Method _authorize Undocumented
proxyClientFactoryClass =
a proxy client factory class, used to create new connections. (type: ClientFactory)
reactor =
the reactor used to create connections. (type: object providing twisted.internet.interfaces.IReactorTCP)
def __init__(self, channel, queued=_QUEUED_SENTINEL, reactor=reactor): (source)
Parameterschannelthe channel we're connected to.
queued(deprecated) are we in the request queue, or can we start writing to the transport?
def process(self): (source)

Handle this request by connecting to the proxied server and forwarding it there, then forwarding the response back as the response to this request.

API Documentation for Twisted, generated by pydoctor at 2019-11-11 15:02:42.