class twisted.web.server.Request(Copyable, http.Request, components.Componentized): (source)
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. |
Instance Variable | site | Undocumented |
Instance Variable | appRootURL | Undocumented |
Instance Variable | prepath | The URL path segments which have been processed during resource traversal, as a list of bytes . |
Instance Variable | postpath | The URL path segments which have not (yet) been processed during resource traversal, as a list of bytes . |
Class Variable | __pychecker__ | Undocumented |
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. |
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. |
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. |
Instance Variable | method | A bytes giving the HTTP method that was used. |
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 |
Property | 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. |
Instance Variable | _inFakeHead | Undocumented |
Instance Variable | _encoder | Undocumented |
Class Variable | _log | Undocumented |
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 | uri | The full encoded URI which was requested (including query arguments), e.g. b'/a/b%20/c?q=v' . |
Instance Variable | path | The encoded path of the request URI (not including query arguments), e.g. b'/a/b%20/c' . |
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']} . |
Instance Variable | cookies | The cookies that will be sent in the response. |
Instance Variable | requestHeaders | A http_headers.Headers instance giving all received HTTP request headers. |
Instance Variable | responseHeaders | A http_headers.Headers instance holding all HTTP response headers to be sent. |
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. |
Instance Variable | producer | Undocumented |
Instance Variable | finished | Undocumented |
Instance Variable | code_message | Undocumented |
Instance Variable | clientproto | Undocumented |
Instance Variable | startedWriting | Undocumented |
Instance Variable | chunked | Undocumented |
Instance Variable | sentLength | Undocumented |
Instance Variable | etag | Undocumented |
Instance Variable | lastModified | Undocumented |
Instance Variable | channel | Undocumented |
Instance Variable | client | Undocumented |
Instance Variable | host | Undocumented |
Instance Variable | received_cookies | Undocumented |
Instance Variable | transport | Undocumented |
Instance Variable | queued | Undocumented |
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. |
Instance Variable | streamingProducer | Undocumented |
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. |
Instance Variable | code | Undocumented |
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 HTTP client 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. |
Instance Variable | user | Undocumented |
Instance Variable | password | Undocumented |
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 | __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. |
Instance Variable | _forceSSL | Undocumented |
Method | _cleanup | Called when have finished responding and are no longer queued. |
Method | _authorize | Undocumented |
Inherited from Componentized:
Class Variable | persistenceVersion | Undocumented |
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 |
Instance Variable | _adapterCache | 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.The URL path segments which have not (yet) been processed during resource traversal, as a list of bytes
.
Parameters | args | Undocumented |
kw | Undocumented | |
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. |
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.
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() |
A bytes
giving the HTTP method that was used.
bytes
)
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 addCookie; same interface.
Remote version of setLastModified; same interface.
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.)
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 | sessionInterface | Undocumented |
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. (type: bytes ) | |
See Also | {twisted.web.server.Request.prepath} |
Returns | A URLPath instance which identifies the URL for which this request is. |
Remember the currently-processed part of the URL for later recalling.
Get a previously-remembered URL.
Returns | An absolute URL. (type: bytes ) |
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.