Interface n.i.IRequest(IComponentized):

Part of nevow.inevow View Source View In Hierarchy

Known implementations: nevow.appserver.NevowRequest, nevow.testutil.FakeRequest, nevow.wsgi.WSGIRequest

A HTTP request.

Subclasses should override the process() method to determine how the request will be processed.
Instance VariablesmethodThe HTTP method that was used.
uriThe full URI that was requested (includes arguments).
pathThe path only (arguments not included).
argsAll of the arguments, including URL and POST arguments. (type: A mapping of strings (the argument names) to lists of values. i.e., ?foo=bar&foo=baz&quux=spam results in {'foo': ['bar', 'baz'], 'quux': ['spam']}. )
received_headersAll received headers

Split Table into Classes Show Methods in One Table

Line # Kind Name Docs
269 Method getHeader Get a header that was sent from the network.
276 Method getCookie Get a cookie that was sent from the network.
281 Method getAllHeaders Return dictionary of all headers the request received.
284 Method getRequestHostname Get the hostname that the user passed in to the request.
291 Method getHost Get my originally requesting transport's host.
299 Method getClientIP Undocumented
302 Method getClient Undocumented
305 Method getUser Undocumented
308 Method getPassword Undocumented
311 Method isSecure Undocumented
314 Method getSession Undocumented
317 Method URLPath Undocumented
320 Method prePathURL Undocumented
323 Method rememberRootURL Remember the currently-processed part of the URL for later
329 Method getRootURL Get a previously-remembered URL.
335 Method finish We are finished writing data.
338 Method write Write some data as a result of an HTTP request. The first
344 Method addCookie Set an outgoing HTTP cookie.
352 Method setResponseCode Set the HTTP response code.
356 Method setHeader Set an outgoing HTTP header.
360 Method redirect Utility function that does a redirect.
366 Method setLastModified Set the Last-Modified time for the response to this request.
385 Method setETag Set an entity tag for the outgoing response.
406 Method setHost Change the host and port the request thinks it's using.

Inherited from IComponentized:

Line # Kind Name Docs
157 Method setComponent Add a component to me for the indicated interface.
162 Method addComponent Add a component to me, for all appropriate interfaces.
179 Method getComponent Create or retrieve an adapter for the given interface.
196 Method unsetComponent Remove my component specified by the given interface class.
199 Method removeComponent Remove the given component from me entirely, for all interfaces for which
Line # Kind Name Docs
162 Method addComponent Add a component to me, for all appropriate interfaces.
344 Method addCookie Set an outgoing HTTP cookie.
335 Method finish We are finished writing data.
281 Method getAllHeaders Return dictionary of all headers the request received.
302 Method getClient Undocumented
299 Method getClientIP Undocumented
179 Method getComponent Create or retrieve an adapter for the given interface.
276 Method getCookie Get a cookie that was sent from the network.
269 Method getHeader Get a header that was sent from the network.
291 Method getHost Get my originally requesting transport's host.
308 Method getPassword Undocumented
284 Method getRequestHostname Get the hostname that the user passed in to the request.
329 Method getRootURL Get a previously-remembered URL.
314 Method getSession Undocumented
305 Method getUser Undocumented
311 Method isSecure Undocumented
320 Method prePathURL Undocumented
360 Method redirect Utility function that does a redirect.
323 Method rememberRootURL Remember the currently-processed part of the URL for later
199 Method removeComponent Remove the given component from me entirely, for all interfaces for which
157 Method setComponent Add a component to me for the indicated interface.
385 Method setETag Set an entity tag for the outgoing response.
356 Method setHeader Set an outgoing HTTP header.
406 Method setHost Change the host and port the request thinks it's using.
366 Method setLastModified Set the Last-Modified time for the response to this request.
352 Method setResponseCode Set the HTTP response code.
196 Method unsetComponent Remove my component specified by the given interface class.
317 Method URLPath Undocumented
338 Method write Write some data as a result of an HTTP request. The first
def getHeader(key): (source)

Get a header that was sent from the network.

Return None if the header is not present.
def getCookie(key): (source)
Get a cookie that was sent from the network.
def getAllHeaders(): (source)
Return dictionary of all headers the request received.
def getRequestHostname(): (source)

Get the hostname that the user passed in to the request.

This will either use the Host: header (if it is available) or the host we are listening on if the header is unavailable.
def getHost(): (source)

Get my originally requesting transport's host.

Don't rely on the 'transport' attribute, since Request objects may be copied remotely. For information on this method's return value, see twisted.internet.tcp.Port.
def getClientIP(): (source)
Undocumented
def getClient(): (source)
Undocumented
def getUser(): (source)
Undocumented
def getPassword(): (source)
Undocumented
def isSecure(): (source)
Undocumented
def getSession(sessionInterface=None): (source)
Undocumented
def URLPath(): (source)
Undocumented
def prePathURL(): (source)
Undocumented
def rememberRootURL(): (source)
Remember the currently-processed part of the URL for later recalling.
def getRootURL(): (source)
Get a previously-remembered URL.
def finish(): (source)
We are finished writing data.
def write(data): (source)
Write some data as a result of an HTTP request. The first time this is called, it writes out response data.
def addCookie(k, v, expires=None, domain=None, path=None, max_age=None, comment=None, secure=None): (source)

Set an outgoing HTTP cookie.

In general, you should consider using sessions instead of cookies, see twisted.web.server.Request.getSession and the twisted.web.server.Session class for details.
def setResponseCode(code, message=None): (source)
Set the HTTP response code.
def setHeader(k, v): (source)
Set an outgoing HTTP header.
def redirect(url): (source)

Utility function that does a redirect.

The request should have finish() called after this.
def setLastModified(when): (source)

Set the Last-Modified time for the response to this request.

If I am called more than once, I ignore attempts to set Last-Modified earlier, only replacing the Last-Modified time if it is to a later value.

If I am a conditional request, I may modify my response code to NOT_MODIFIED if appropriate for the time given.
ParameterswhenThe last time the resource being returned was modified, in seconds since the epoch. (type: number )
ReturnsIf I am a If-Modified-Since conditional request and the time given is not newer than the condition, I return http.CACHED to indicate that you should write no body. Otherwise, I return a false value.
def setETag(etag): (source)

Set an entity tag for the outgoing response.

That's "entity tag" as in the HTTP/1.1 ETag header, "used for comparing two or more entities from the same requested resource."

If I am a conditional request, I may modify my response code to NOT_MODIFIED or PRECONDITION_FAILED, if appropriate for the tag given.
ParametersetagThe entity tag for the resource being returned. (type: string )
ReturnsIf I am a If-None-Match conditional request and the tag matches one in the request, I return CACHED to indicate that you should write no body. Otherwise, I return a false value.
def setHost(host, port, ssl=0): (source)

Change the host and port the request thinks it's using.

This method is useful for working with reverse HTTP proxies (e.g. both Squid and Apache's mod_proxy can do this), when the address the HTTP client is using is different than the one we're listening on.

For example, Apache may be listening on https://www.example.com, and then forwarding requests to http://localhost:8080, but we don't want HTML produced by Twisted to say 'http://localhost:8080', they should say 'https://www.example.com', so we do:
>>> request.setHost('www.example.com', 443, ssl=1)
This method is experimental.
API Documentation for Nevow, generated by pydoctor.