HyperText Transfer Protocol implementation.

This is the basic server-side protocol implementation used by the Twisted Web server. It can parse HTTP 1.0 requests and supports many HTTP 1.1 features as well. Additionally, some functionality implemented here is also useful for HTTP clients (such as the chunked encoding parser).

Variable CACHED A marker value to be returned from cache-related request methods to indicate to the caller that a cached response will be usable and no response body should be generated.
Variable NOT_MODIFIED An HTTP response code indicating that a requested pre-condition (for example, the condition represented by an If-Modified-Since header is present in the request) has succeeded. This indicates a response body cached by the client can be used.
Variable PRECONDITION_FAILED An HTTP response code indicating that a requested pre-condition (for example, the condition represented by an If-None-Match header is present in the request) has failed. This should typically indicate that the server has not taken the requested action.
Function urlparse Parse an URL into six components.
Function parse_qs Like cgi.parse_qs, but with support for parsing byte strings on Python 3.
Function datetimeToString Convert seconds since epoch to HTTP datetime string.
Function datetimeToLogString Convert seconds since epoch to log datetime string.
Function timegm Convert time tuple in GMT to seconds since epoch, GMT
Function stringToDatetime Convert an HTTP date string (one of three formats) to seconds since epoch.
Function toChunk Convert string to a chunk.
Function fromChunk Convert chunk to string.
Function parseContentRange Parse a content-range header into (start, end, realLength).
Class StringTransport I am a StringIO wrapper that conforms for the transport API. I support the `writeSequence' method.
Class HTTPClient A client for HTTP 1.0.
Class Request A HTTP request.
Class PotentialDataLoss No summary
Class HTTPChannel A receiver for HTTP requests.
Function combinedLogFormatter
Function proxiedLogFormatter
Class HTTPFactory Factory for HTTP server.
Function _parseHeader Undocumented
Class _DataLoss No summary
Class _MalformedChunkedDataError No summary
Class _IdentityTransferDecoder Protocol for accumulating bytes up to a specified length. This handles the case where no Transfer-Encoding is specified.
Class _ChunkedTransferDecoder No summary
Function _respondToBadRequestAndDisconnect This is a quick and dirty way of responding to bad requests.
Function _escape Return a string like python repr, but always escaped as if surrounding quotes were double quotes.
Class _XForwardedForRequest Add a layer on top of another request that only uses the value of an X-Forwarded-For header as the result of getClientIP.
Class _GenericHTTPChannelProtocol A proxy object that wraps one of the HTTP protocol objects, and switches between them depending on TLS negotiated protocol.
Function _genericHTTPChannelProtocolFactory Returns an appropriately initialized _GenericHTTPChannelProtocol.
CACHED =
A marker value to be returned from cache-related request methods to indicate to the caller that a cached response will be usable and no response body should be generated.
NOT_MODIFIED =
An HTTP response code indicating that a requested pre-condition (for example, the condition represented by an If-Modified-Since header is present in the request) has succeeded. This indicates a response body cached by the client can be used.
PRECONDITION_FAILED =
An HTTP response code indicating that a requested pre-condition (for example, the condition represented by an If-None-Match header is present in the request) has failed. This should typically indicate that the server has not taken the requested action.
def _parseHeader(line): (source)
Undocumented
def urlparse(url): (source)

Parse an URL into six components.

This is similar to urlparse.urlparse, but rejects unicode input and always produces bytes output.

ReturnsThe scheme, net location, path, params, query string, and fragment of the URL - all as bytes. (type: ParseResultBytes)
RaisesTypeErrorThe given url was a unicode string instead of a bytes.
def parse_qs(qs, keep_blank_values=0, strict_parsing=0): (source)

Like cgi.parse_qs, but with support for parsing byte strings on Python 3.

def datetimeToString(msSinceEpoch=None): (source)

Convert seconds since epoch to HTTP datetime string.

Returns (type: bytes)
def datetimeToLogString(msSinceEpoch=None): (source)

Convert seconds since epoch to log datetime string.

Returns (type: str)
def timegm(year, month, day, hour, minute, second): (source)

Convert time tuple in GMT to seconds since epoch, GMT

def stringToDatetime(dateString): (source)

Convert an HTTP date string (one of three formats) to seconds since epoch.

def toChunk(data): (source)

Convert string to a chunk.

Returnsa tuple of bytes representing the chunked encoding of data
def fromChunk(data): (source)

Convert chunk to string.

Returnstuple of (result, remaining) - both bytes.
RaisesValueErrorIf the given data is not a correctly formatted chunked byte string.
def parseContentRange(header): (source)

Parse a content-range header into (start, end, realLength).

realLength might be None if real length is not known ('*').

def _respondToBadRequestAndDisconnect(transport): (source)

This is a quick and dirty way of responding to bad requests.

As described by HTTP standard we should be patient and accept the whole request from the client before sending a polite bad request response, even in the case when clients send tons of data.

ParameterstransportTransport handling connection to the client. (type: interfaces.ITransport)
def _escape(s): (source)

Return a string like python repr, but always escaped as if surrounding quotes were double quotes.

ParameterssThe string to escape. (type: bytes or unicode)
ReturnsAn escaped string. (type: unicode)
@provider(IAccessLogFormatter)
def combinedLogFormatter(timestamp, request): (source)
ReturnsA combined log formatted log line for the given request.
See AlsoIAccessLogFormatter
@provider(IAccessLogFormatter)
def proxiedLogFormatter(timestamp, request): (source)
ReturnsA combined log formatted log line for the given request but use the value of the X-Forwarded-For header as the value for the client IP address.
See AlsoIAccessLogFormatter
def _genericHTTPChannelProtocolFactory(self): (source)

Returns an appropriately initialized _GenericHTTPChannelProtocol.

API Documentation for Twisted, generated by pydoctor at 2016-04-04 15:02:49.