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 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 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
defaultContentType =
A bytes giving the default Content-Type value to send in responses if no other value is set. None disables the default.
_insecureSession =
The Session object representing state that will be transmitted over plain-text HTTP.
_secureSession =
The Session object representing the state that will be transmitted only over HTTPS.
def __init__(self, *args, **kw):
Parameterschannelthe channel we're connected to.
queued(deprecated) are we in the request queue, or can we start writing to the transport?
def getStateToCopyFor(self, issuer):

Gather state to send when I am serialized for a particular perspective.

I will default to calling getStateToCopy. Override this to customize this behavior.

def sibLink(self, name):

Return the text that links to a sibling of the requested resource.

ParametersnameThe sibling resource (type: bytes)
ReturnsA relative URL. (type: bytes)
def childLink(self, name):

Return the text that links to a child of the requested resource.

ParametersnameThe child resource (type: bytes)
ReturnsA relative URL. (type: bytes)
def gotLength(self, length):

Called when HTTP channel got length of content in this request.

This method is not intended for users.

ParameterslengthThe length of the request body, as indicated by the request headers. None if the request headers do not indicate a length.
def process(self):

Process a request.

Find the addressed resource in this request's Site, and call self.render() with it.

See AlsoSite.getResourceFor()
def write(self, data):

Write data to the transport (if not responding to a HEAD request).

ParametersdataA string to write to the response. (type: bytes)
def finish(self):

Override http.Request.finish for possible encoding.

def render(self, resrc):

Ask a resource to render itself.

If the resource does not support the requested method, generate a NOT IMPLEMENTED or NOT ALLOWED response.

ParametersresrcThe resource to render. (type: twisted.web.resource.IResource)
See AlsoIResource.render()
def processingFailed(self, reason):

Finish this request with an indication that processing failed and possibly display a traceback.

ParametersreasonReason this request has failed. (type: twisted.python.failure.Failure)
ReturnsThe reason passed to this method. (type: twisted.python.failure.Failure)
def view_write(self, issuer, data):

Remote version of write; same interface.

def view_finish(self, issuer):

Remote version of finish; same interface.

def view_addCookie(self, issuer, k, v, **kwargs):

Remote version of addCookie; same interface.

def view_setHeader(self, issuer, k, v):

Remote version of setHeader; same interface.

def view_setLastModified(self, issuer, when):

Remote version of setLastModified; same interface.

def view_setETag(self, issuer, tag):

Remote version of setETag; same interface.

def view_setResponseCode(self, issuer, code, message=None):

Remote version of setResponseCode; same interface.

def view_registerProducer(self, issuer, producer, streaming):

Remote version of registerProducer; same interface. (requires a remote producer.)

def view_unregisterProducer(self, issuer):
Undocumented
@property
def session(self):

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.)

Returnsthe session attribute (type: Session or None)
def getSession(self, sessionInterface=None, forceNotSecure=False):

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.

ParametersforceNotSecureShould we retrieve a session that will be transmitted over HTTP, even if this Request was delivered over HTTPS? (type: bool)
def _prePathURL(self, prepath):
Undocumented
def prePathURL(self):

At any time during resource traversal or resource rendering, returns an absolute URL to the most nested resource which has yet been reached.

ReturnsAn absolute URL.
See Also{twisted.web.server.Request.prepath}
def URLPath(self):
ReturnsA URLPath instance which identifies the URL for which this request is.
def rememberRootURL(self):

Remember the currently-processed part of the URL for later recalling.

def getRootURL(self):

Get a previously-remembered URL.

ReturnsAn absolute URL. (type: bytes)
def _handleStar(self):

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.

API Documentation for twisted, generated by pydoctor at 2020-03-25 17:34:30.