twisted.web.proxy.ReverseProxyRequest(Request) class documentationtwisted.web.proxy
View Source
(View In Hierarchy)
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 |
ClientFactory)
twisted.internet.interfaces.IReactorTCP)
| Parameters | channel | the channel we're connected to. |
| queued | (deprecated) are we in the request queue, or can we start writing to the transport? |
Handle this request by connecting to the proxied server and forwarding it there, then forwarding the response back as the response to this request.