module documentation
(source)

An HTTP 1.1 client.

The way to use the functionality provided by this module is to:

Various other classes in this module support this usage:

  • HTTPParser is the basic HTTP parser. It can handle the parts of HTTP which are symmetric between requests and responses.
  • HTTPClientParser extends HTTPParser to handle response-specific parts of HTTP. One instance is created for each request to parse the corresponding response.
Class BadHeaders Headers passed to Request were in some way invalid.
Class BadResponseVersion The version string in a status line was unparsable.
Class ChunkedEncoder Helper object which exposes IConsumer on top of HTTP11ClientProtocol for streaming request bodies to the server.
Class ConnectionAborted The connection was explicitly aborted by application code.
Class ExcessWrite The body IBodyProducer for a request tried to write data after indicating it had finished writing data.
Class HTTP11ClientProtocol HTTP11ClientProtocol is an implementation of the HTTP 1.1 client protocol. It supports as few features as possible.
Class HTTPClientParser An HTTP parser which only handles HTTP responses.
Class HTTPParser HTTPParser handles the parsing side of HTTP processing. With a suitable subclass, it can parse either the client side or the server side of the connection.
Class LengthEnforcingConsumer An IConsumer proxy which enforces an exact length requirement on the total data written to it.
Class ParseError Some received data could not be parsed.
Class Request A Request instance describes an HTTP request to be sent to an HTTP server.
Class RequestNotSent No summary
Class TransportProxyProducer An twisted.internet.interfaces.IPushProducer implementation which wraps another such thing and proxies calls to it until it is told to stop.
Class WrongBodyLength An IBodyProducer declared the number of bytes it was going to produce (via its length attribute) and then produced a different number of bytes.
Function makeStatefulDispatcher No summary
Variable BODY Undocumented
Variable DONE Undocumented
Variable HEADER Undocumented
Variable STATUS Undocumented
Class _WrapperException _WrapperException is the base exception type for exceptions which include one or more other exceptions as the low-level causes.
Function _callAppFunction Call function. If it raises an exception, log it with a minimal description of the source.
Function _ensureValidMethod An HTTP method is an HTTP token, which consists of any visible ASCII character that is not a delimiter (i.e. one of "(),/:;<=>?@[\]{}.)
Function _ensureValidURI A valid URI cannot contain control characters (i.e., characters between 0-32, inclusive and 127) or non-ASCII characters (i.e., characters with values between 128-255, inclusive).
Variable _ClientRequestProxy Undocumented
Variable _moduleLog Undocumented
Variable _VALID_METHOD Undocumented
Variable _VALID_URI Undocumented
def makeStatefulDispatcher(name, template): (source)
Given a dispatch name and a function, return a function which can be used as a method and which, when called, will call another method defined on the instance and return the result. The other method which is called is determined by the value of the _state attribute of the instance.
Parameters
nameA string which is used to construct the name of the subsidiary method to invoke. The subsidiary method is named like '_%s_%s' % (name, _state).
templateA function object which is used to give the returned function a docstring.
Returns
The dispatcher function.
BODY: str = (source)

Undocumented

DONE: str = (source)

Undocumented

HEADER: str = (source)

Undocumented

STATUS: str = (source)

Undocumented

def _callAppFunction(function): (source)
Call function. If it raises an exception, log it with a minimal description of the source.
Returns
None
def _ensureValidMethod(method): (source)
An HTTP method is an HTTP token, which consists of any visible ASCII character that is not a delimiter (i.e. one of "(),/:;<=>?@[\]{}.)
Parameters
method:bytesthe method to check
Returns
bytesthe method if it is valid
Raises
ValueErrorif the method is not valid
See Also
https://tools.ietf.org/html/rfc7230#section-3.1.1, https://tools.ietf.org/html/rfc7230#section-3.2.6, https://tools.ietf.org/html/rfc5234#appendix-B.1
def _ensureValidURI(uri): (source)
A valid URI cannot contain control characters (i.e., characters between 0-32, inclusive and 127) or non-ASCII characters (i.e., characters with values between 128-255, inclusive).
Parameters
uri:bytesthe URI to check
Returns
bytesthe URI if it is valid
Raises
ValueErrorif the URI is not valid
See Also
https://tools.ietf.org/html/rfc3986#section-3.3, https://tools.ietf.org/html/rfc3986#appendix-A, https://tools.ietf.org/html/rfc5234#appendix-B.1
_ClientRequestProxy = (source)

Undocumented

_moduleLog = (source)

Undocumented

_VALID_METHOD = (source)

Undocumented

_VALID_URI = (source)

Undocumented