twisted.web.server.Request(Copyable, http.Request, components.Componentized)
class documentationtwisted.web.server
(View In Hierarchy)
Known subclasses: twisted.web.distrib.Request
Implements interfaces: twisted.web.iweb.IRequest
An HTTP request.
Instance Variable | defaultContentType | A bytes
giving the default Content-Type value to send in responses if no
other value is set. None
disables the default. |
Method | __init__ | |
Method | getStateToCopyFor | Gather state to send when I am serialized for a particular perspective. |
Method | sibLink | Return the text that links to a sibling of the requested resource. |
Method | childLink | Return the text that links to a child of the requested resource. |
Method | gotLength | Called when HTTP channel got length of content in this request. |
Method | process | Process a request. |
Method | write | Write data to the transport (if not responding to a HEAD request). |
Method | finish | Override http.Request.finish for possible encoding. |
Method | render | Ask a resource to render itself. |
Method | processingFailed | Finish this request with an indication that processing failed and possibly display a traceback. |
Method | view_write | Remote version of write; same interface. |
Method | view_finish | Remote version of finish; same interface. |
Method | view_addCookie | Remote version of addCookie; same interface. |
Method | view_setHeader | Remote version of setHeader; same interface. |
Method | view_setLastModified | Remote version of setLastModified; same interface. |
Method | view_setETag | Remote version of setETag; same interface. |
Method | view_setResponseCode | Remote version of setResponseCode; same interface. |
Method | view_registerProducer | Remote version of registerProducer; same interface. (requires a remote producer.) |
Method | view_unregisterProducer | Undocumented |
Method | session | No summary |
Method | getSession | Check if there is a session cookie, and if not, create it. |
Method | prePathURL | At any time during resource traversal or resource rendering, returns an absolute URL to the most nested resource which has yet been reached. |
Method | URLPath | |
Method | rememberRootURL | Remember the currently-processed part of the URL for later recalling. |
Method | getRootURL | Get a previously-remembered URL. |
Instance Variable | _insecureSession | The Session
object representing state that will be transmitted over plain-text HTTP. |
Instance Variable | _secureSession | The Session
object representing the state that will be transmitted only over HTTPS. |
Method | _prePathURL | Undocumented |
Method | _handleStar | Handle receiving a request whose path is '*'. |
Inherited from Copyable:
Method | getStateToCopy | Gather state to send when I am serialized for a peer. |
Method | getTypeToCopy | Determine what type tag to send for me. |
Method | getTypeToCopyFor | Determine what type tag to send for me. |
Method | jellyFor | Assemble type tag and state to copy for this broker. |
Inherited from Serializable (via Copyable):
Method | processUniqueID | Return an ID which uniquely represents this object for this process. |
Inherited from Jellyable (via Copyable, Serializable):
Method | getStateFor | Undocumented |
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 list s
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 Deferred s
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 | 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 | 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 |
Inherited from Componentized:
Method | locateAdapterClass | Undocumented |
Method | setAdapter | Cache a provider for the given interface, by adapting self
using the given adapter class. |
Method | addAdapter | Utility method that calls addComponent. I take an adapter class and instantiate it with myself as the first argument. |
Method | setComponent | Cache a provider of the given interface. |
Method | addComponent | Add a component to me, for all appropriate interfaces. |
Method | unsetComponent | Remove my component specified by the given interface class. |
Method | removeComponent | Remove the given component from me entirely, for all interfaces for which it has been registered. |
Method | getComponent | Create or retrieve an adapter for the given interface. |
Method | __conform__ | Undocumented |
Session
object representing state that will be transmitted over plain-text HTTP.
Session
object representing the state that will be transmitted only over HTTPS.
Parameters | channel | the channel we're connected to. |
queued | (deprecated) are we in the request queue, or can we start writing to the transport? |
Gather state to send when I am serialized for a particular perspective.
I will default to calling getStateToCopy
.
Override this to customize this behavior.
Return the text that links to a sibling of the requested resource.
Parameters | name | The sibling resource (type: bytes ) |
Returns | A relative URL. (type: bytes ) |
Return the text that links to a child of the requested resource.
Parameters | name | The child resource (type: bytes ) |
Returns | A relative URL. (type: bytes ) |
Called when HTTP channel got length of content in this request.
This method is not intended for users.
Parameters | length | The length of the request body, as indicated by the request headers. None
if the request headers do not indicate a length. |
Process a request.
Find the addressed resource in this request's Site
, and call self.render()
with it.
See Also | Site.getResourceFor() |
Write data to the transport (if not responding to a HEAD request).
Parameters | data | A string to write to the response. (type: bytes ) |
Override http.Request.finish
for possible encoding.
Ask a resource to render itself.
If the resource does not support the requested method, generate a
NOT IMPLEMENTED
or NOT ALLOWED
response.
Parameters | resrc | The resource to render. (type: twisted.web.resource.IResource ) |
See Also | IResource.render() |
Finish this request with an indication that processing failed and possibly display a traceback.
Parameters | reason | Reason this request has failed. (type: twisted.python.failure.Failure ) |
Returns | The reason passed to this method. (type: twisted.python.failure.Failure ) |
Remote version of setResponseCode; same interface.
Remote version of registerProducer; same interface. (requires a remote producer.)
If a session has already been created or looked up with Request.getSession
,
this will return that object. (This will always be the session that
matches the security of the request; so if forceNotSecure
is
used on a secure request, this will not return that session.)
Returns | the session attribute (type: Session or None ) |
Check if there is a session cookie, and if not, create it.
By default, the cookie with be secure for HTTPS requests and not secure
for HTTP requests. If for some reason you need access to the insecure
cookie from a secure request you can set forceNotSecure =
True
.
Parameters | forceNotSecure | Should we retrieve a session that will be transmitted over HTTP, even if
this Request was
delivered over HTTPS? (type: bool ) |
At any time during resource traversal or resource rendering, returns an absolute URL to the most nested resource which has yet been reached.
Returns | An absolute URL. | |
See Also | {twisted.web.server.Request.prepath} |
Handle receiving a request whose path is '*'.
RFC 7231 defines an OPTIONS * request as being something that a client can send as a low-effort way to probe server capabilities or readiness. Rather than bother the user with this, we simply fast-path it back to an empty 200 OK. Any non-OPTIONS verb gets a 405 Method Not Allowed telling the client they can only use OPTIONS.