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 FOUND Undocumented
Variable NOT_MODIFIED Undocumented
Variable PRECONDITION_FAILED Undocumented
Variable __all__ Undocumented
Variable H2_ENABLED Undocumented
Variable SWITCHING Undocumented
Variable OK Undocumented
Variable CREATED Undocumented
Variable ACCEPTED Undocumented
Variable NON_AUTHORITATIVE_INFORMATION Undocumented
Variable NO_CONTENT Undocumented
Variable RESET_CONTENT Undocumented
Variable PARTIAL_CONTENT Undocumented
Variable MULTI_STATUS Undocumented
Variable MULTIPLE_CHOICE Undocumented
Variable MOVED_PERMANENTLY Undocumented
Variable SEE_OTHER Undocumented
Variable USE_PROXY Undocumented
Variable TEMPORARY_REDIRECT Undocumented
Variable BAD_REQUEST Undocumented
Variable UNAUTHORIZED Undocumented
Variable PAYMENT_REQUIRED Undocumented
Variable FORBIDDEN Undocumented
Variable NOT_FOUND Undocumented
Variable NOT_ALLOWED Undocumented
Variable NOT_ACCEPTABLE Undocumented
Variable PROXY_AUTH_REQUIRED Undocumented
Variable REQUEST_TIMEOUT Undocumented
Variable CONFLICT Undocumented
Variable GONE Undocumented
Variable LENGTH_REQUIRED Undocumented
Variable REQUEST_ENTITY_TOO_LARGE Undocumented
Variable REQUEST_URI_TOO_LONG Undocumented
Variable UNSUPPORTED_MEDIA_TYPE Undocumented
Variable REQUESTED_RANGE_NOT_SATISFIABLE Undocumented
Variable EXPECTATION_FAILED Undocumented
Variable INTERNAL_SERVER_ERROR Undocumented
Variable NOT_IMPLEMENTED Undocumented
Variable BAD_GATEWAY Undocumented
Variable SERVICE_UNAVAILABLE Undocumented
Variable GATEWAY_TIMEOUT Undocumented
Variable HTTP_VERSION_NOT_SUPPORTED Undocumented
Variable INSUFFICIENT_STORAGE_SPACE Undocumented
Variable NOT_EXTENDED Undocumented
Variable RESPONSES Undocumented
Variable protocol_version Undocumented
Variable weekdayname Undocumented
Variable monthname Undocumented
Variable weekdayname_lower Undocumented
Variable monthname_lower Undocumented
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.
Variable NO_BODY_CODES Undocumented
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
Variable _intTypes Undocumented
Variable _REQUEST_TIMEOUT Undocumented
Interface _IDeprecatedHTTPChannelToRequestInterface The interface HTTPChannel expects of Request.
Variable _QUEUED_SENTINEL Undocumented
Function _getContentFile Get a writeable file-like object to which request content can be written.
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
Class _NoPushProducer A no-op version of interfaces.IPushProducer, used to abstract over the possibility that a HTTPChannel transport does not provide IPushProducer.
Function _escape Return a string like python repr, but always escaped as if surrounding quotes were double quotes.
Class _XForwardedForAddress IAddress which represents the client IP to log for a request, as gleaned from an X-Forwarded-For header.
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 getClientAddress.
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.
(type: str)
FOUND =
Undocumented
(type: int)
NOT_MODIFIED =
Undocumented
(type: int)
PRECONDITION_FAILED =
Undocumented
(type: int)
__all__ =
Undocumented
(type: List[str])
def _parseHeader(line): (source)
Undocumented
H2_ENABLED =
Undocumented
(type: bool)
SWITCHING =
Undocumented
(type: int)
OK =
Undocumented
(type: int)
CREATED =
Undocumented
(type: int)
ACCEPTED =
Undocumented
(type: int)
NON_AUTHORITATIVE_INFORMATION =
Undocumented
(type: int)
NO_CONTENT =
Undocumented
(type: int)
RESET_CONTENT =
Undocumented
(type: int)
PARTIAL_CONTENT =
Undocumented
(type: int)
MULTI_STATUS =
Undocumented
(type: int)
MULTIPLE_CHOICE =
Undocumented
(type: int)
MOVED_PERMANENTLY =
Undocumented
(type: int)
SEE_OTHER =
Undocumented
(type: int)
USE_PROXY =
Undocumented
(type: int)
TEMPORARY_REDIRECT =
Undocumented
(type: int)
BAD_REQUEST =
Undocumented
(type: int)
UNAUTHORIZED =
Undocumented
(type: int)
PAYMENT_REQUIRED =
Undocumented
(type: int)
FORBIDDEN =
Undocumented
(type: int)
NOT_FOUND =
Undocumented
(type: int)
NOT_ALLOWED =
Undocumented
(type: int)
NOT_ACCEPTABLE =
Undocumented
(type: int)
PROXY_AUTH_REQUIRED =
Undocumented
(type: int)
REQUEST_TIMEOUT =
Undocumented
(type: int)
CONFLICT =
Undocumented
(type: int)
GONE =
Undocumented
(type: int)
LENGTH_REQUIRED =
Undocumented
(type: int)
REQUEST_ENTITY_TOO_LARGE =
Undocumented
(type: int)
REQUEST_URI_TOO_LONG =
Undocumented
(type: int)
UNSUPPORTED_MEDIA_TYPE =
Undocumented
(type: int)
REQUESTED_RANGE_NOT_SATISFIABLE =
Undocumented
(type: int)
EXPECTATION_FAILED =
Undocumented
(type: int)
INTERNAL_SERVER_ERROR =
Undocumented
(type: int)
NOT_IMPLEMENTED =
Undocumented
(type: int)
BAD_GATEWAY =
Undocumented
(type: int)
SERVICE_UNAVAILABLE =
Undocumented
(type: int)
GATEWAY_TIMEOUT =
Undocumented
(type: int)
HTTP_VERSION_NOT_SUPPORTED =
Undocumented
(type: int)
INSUFFICIENT_STORAGE_SPACE =
Undocumented
(type: int)
NOT_EXTENDED =
Undocumented
(type: int)
RESPONSES =
Undocumented
_intTypes =
Undocumented
_REQUEST_TIMEOUT =
Undocumented
protocol_version =
Undocumented
(type: str)
weekdayname =
Undocumented
(type: List[str])
monthname =
Undocumented
(type: List)
weekdayname_lower =
Undocumented
monthname_lower =
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 ('*').

NO_BODY_CODES =
Undocumented
(type: Tuple[int, ...])
_QUEUED_SENTINEL =
Undocumented
def _getContentFile(length): (source)

Get a writeable file-like object to which request content can be written.

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 2020-03-20 23:54:06.