class Request(Copyable, http.Request, components.Componentized): (source)
Known subclasses: twisted.web.distrib.Request
Constructor: Request(*args, **kw)
Implements interfaces: twisted.web.iweb.IRequest
An HTTP request.
Method | __init__ |
No summary |
Method | child |
Return the text that links to a child of the requested resource. |
Method | finish |
Override twisted.web.http.Request.finish for possible encoding. |
Method | get |
Get a previously-remembered URL. |
Method | get |
Check if there is a session cookie, and if not, create it. |
Method | get |
Gather state to send when I am serialized for a particular perspective. |
Method | got |
Called when HTTP channel got length of content in this request. |
Method | pre |
At any time during resource traversal or resource rendering, returns an absolute URL to the most nested resource which has yet been reached. |
Method | process |
Process a request. |
Method | processing |
Finish this request with an indication that processing failed and possibly display a traceback. |
Method | remember |
Remember the currently-processed part of the URL for later recalling. |
Method | render |
Ask a resource to render itself. |
Method | sib |
Return the text that links to a sibling of the requested resource. |
Method |
|
No summary |
Method | view_add |
Remote version of addCookie; same interface. |
Method | view |
Remote version of finish; same interface. |
Method | view_register |
Remote version of registerProducer; same interface. (requires a remote producer.) |
Method | view_set |
Remote version of setETag; same interface. |
Method | view_set |
Remote version of setHeader; same interface. |
Method | view_set |
Remote version of setLastModified; same interface. |
Method | view_set |
Remote version of setResponseCode; same interface. |
Method | view_unregister |
Undocumented |
Method | view |
Remote version of write; same interface. |
Method | write |
Write data to the transport (if not responding to a HEAD request). |
Class Variable | __pychecker__ |
Undocumented |
Instance Variable | app |
Undocumented |
Instance Variable | default |
A bytes giving the default Content-Type value to send in responses if no other value is set. None disables the default. |
Instance Variable | postpath |
The URL path segments which have not (yet) been processed during resource traversal, as a list of bytes . |
Instance Variable | prepath |
The URL path segments which have been processed during resource traversal, as a list of bytes . |
Instance Variable | site |
Undocumented |
Property | session |
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... |
Method | _handle |
Handle receiving a request whose path is '*'. |
Method | _pre |
Undocumented |
Class Variable | _in |
Undocumented |
Instance Variable | _encoder |
Undocumented |
Instance Variable | _insecure |
The Session object representing state that will be transmitted over plain-text HTTP. |
Instance Variable | _log |
Undocumented |
Instance Variable | _secure |
The Session object representing the state that will be transmitted only over HTTPS. |
Inherited from Copyable
:
Method | get |
Gather state to send when I am serialized for a peer. |
Method | get |
Determine what type tag to send for me. |
Method | get |
Determine what type tag to send for me. |
Method | jelly |
Assemble type tag and state to copy for this broker. |
Inherited from Serializable
(via Copyable
):
Method | process |
Return an ID which uniquely represents this object for this process. |
Inherited from Jellyable
(via Copyable
, Serializable
):
Method | get |
Undocumented |
Inherited from Request
(via Copyable
, Serializable
, Jellyable
):
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. |
Method | __repr__ |
Return a string description of the request including such information as the request method and request URI. |
Method | add |
Set an outgoing HTTP cookie. |
Method | connection |
There is no longer a connection for this request to respond over. Clean up anything which can't be useful anymore. |
Method | get |
Return dictionary mapping the names of all received headers to the last value received for each. |
Method | get |
Return the address of the client who submitted this request. |
Method | get |
Return the IP address of the client who submitted this request. |
Method | get |
Get a cookie that was sent from the network. |
Method | get |
Get an HTTP request header. |
Method | get |
Get my originally requesting transport's host. |
Method | get |
Return the HTTP password sent with this request, if any. |
Method | get |
Get the hostname that the HTTP client passed in to the request. |
Method | get |
Return the HTTP user sent with this request, if any. |
Method | handle |
Write a chunk of data. |
Method | is |
Return True if this request is using a secure transport. |
Method | lose |
Pass the loseConnection through to the underlying channel. |
Method | no |
Notify the object that it is no longer queued. |
Method | notify |
Notify when the response to this request has finished. |
Method | parse |
Parse cookie headers. |
Method | redirect |
Utility function that does a redirect. |
Method | register |
Register a producer. |
Method | request |
Called by channel when all data has been received. |
Method | set |
Set an entity tag for the outgoing response. |
Method | set |
Set an HTTP response header. Overrides any previously set values for this header. |
Method | set |
Change the host and port the request thinks it's using. |
Method | set |
Set the Last-Modified time for the response to this request. |
Method | set |
Set the HTTP response code. |
Method | unregister |
Unregister the producer. |
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 | channel |
Undocumented |
Instance Variable | chunked |
Undocumented |
Instance Variable | client |
Undocumented |
Instance Variable | clientproto |
Undocumented |
Instance Variable | code |
Undocumented |
Instance Variable | code |
Undocumented |
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. |
Instance Variable | cookies |
The cookies that will be sent in the response. |
Instance Variable | etag |
Undocumented |
Instance Variable | finished |
Undocumented |
Instance Variable | host |
Undocumented |
Instance Variable | last |
Undocumented |
Instance Variable | method |
The HTTP method that was used, e.g. b'GET'. |
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 ... |
Instance Variable | password |
Undocumented |
Instance Variable | path |
The encoded path of the request URI (not including query arguments), e.g. b'/a/b%20/c'. |
Instance Variable | producer |
Undocumented |
Instance Variable | queued |
Undocumented |
Instance Variable | received |
Undocumented |
Instance Variable | request |
All received HTTP request headers. |
Instance Variable | response |
All HTTP response headers to be sent. |
Instance Variable | sent |
Undocumented |
Instance Variable | started |
Undocumented |
Instance Variable | streaming |
Undocumented |
Instance Variable | transport |
Undocumented |
Instance Variable | uri |
The full encoded URI which was requested (including query arguments), e.g. b'/a/b%20/c?q=v'. |
Instance Variable | user |
Undocumented |
Method | _authorize |
Undocumented |
Method | _cleanup |
Called when have finished responding and are no longer queued. |
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 | _force |
Undocumented |
Inherited from Componentized
(via Copyable
, Serializable
, Jellyable
, Request
):
Method | __conform__ |
Undocumented |
Method | add |
Utility method that calls addComponent. I take an adapter class and instantiate it with myself as the first argument. |
Method | add |
Add a component to me, for all appropriate interfaces. |
Method | get |
Create or retrieve an adapter for the given interface. |
Method | locate |
Undocumented |
Method | remove |
Remove the given component from me entirely, for all interfaces for which it has been registered. |
Method | set |
Cache a provider for the given interface, by adapting self using the given adapter class. |
Method | set |
Cache a provider of the given interface. |
Method | unset |
Remove my component specified by the given interface class. |
Class Variable | persistence |
Undocumented |
Instance Variable | _adapter |
Undocumented |
twisted.web.http.Request.__init__
Parameters | |
*args | Undocumented |
channel | the channel we're connected to. |
queued | (deprecated) are we in the request queue, or can we start writing to the transport? |
**kw | Undocumented |
Return the text that links to a child of the requested resource.
Parameters | |
name:bytes | The child resource |
Returns | |
bytes | A relative URL. |
twisted.web.http.Request.finish
Override twisted.web.http.Request.finish
for possible encoding.
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 | |
session | Undocumented |
forcebool | Should we retrieve a session that will be transmitted over HTTP, even if this Request was delivered over HTTPS? |
Gather state to send when I am serialized for a particular perspective.
I will default to calling getStateToCopy
. Override this to customize this behavior.
twisted.web.http.Request.gotLength
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. |
At any time during resource traversal or resource rendering, returns an absolute URL to the most nested resource which has yet been reached.
Returns | |
bytes | An absolute URL. |
See Also | |
{twisted.web.server.Request.prepath} |
twisted.web.http.Request.process
Process a request.
Find the addressed resource in this request's Site
, and call self.render()
with it.
See Also | |
Site.getResourceFor() |
Finish this request with an indication that processing failed and possibly display a traceback.
Parameters | |
reason:twisted.python.failure.Failure | Reason this request has failed. |
Returns | |
twisted.python.failure.Failure | The reason passed to this method. |
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:twisted.web.resource.IResource | The resource to render. |
See Also | |
IResource.render() |
Return the text that links to a sibling of the requested resource.
Parameters | |
name:bytes | The sibling resource |
Returns | |
bytes | A relative URL. |
twisted.web.http.Request.write
twisted.web.distrib.Request
Write data to the transport (if not responding to a HEAD request).
Parameters | |
data:bytes | A string to write to the response. |
The URL path segments which have not (yet) been processed during resource traversal, as a list of bytes
.
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.)
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.