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 ExcessWrite The body IBodyProducer for a request tried to write data after indicating it had finished writing data.
Class ParseError Some received data could not be parsed.
Class BadResponseVersion The version string in a status line was unparsable.
Class ConnectionAborted The connection was explicitly aborted by application code.
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.
Class RequestNotSent No summary
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 HTTPClientParser An HTTP parser which only handles HTTP responses.
Class Request A Request instance describes an HTTP request to be sent to an HTTP server.
Class LengthEnforcingConsumer An IConsumer proxy which enforces an exact length requirement on the total data written to it.
Function makeStatefulDispatcher No summary
Class ChunkedEncoder Helper object which exposes IConsumer on top of HTTP11ClientProtocol for streaming request bodies to the server.
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 HTTP11ClientProtocol HTTP11ClientProtocol is an implementation of the HTTP 1.1 client protocol. It supports as few features as possible.
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).
def _callAppFunction(function):

Call function. If it raises an exception, log it with a minimal description of the source.

ReturnsNone
def _ensureValidMethod(method):

An HTTP method is an HTTP token, which consists of any visible ASCII character that is not a delimiter (i.e. one of "(),/:;<=>?@[\]{}.)

Parametersmethodthe method to check (type: bytes)
Returnsthe method if it is valid (type: bytes)
RaisesValueErrorif the method is not valid
See Alsohttps://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):

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

Parametersurithe URI to check (type: bytes)
Returnsthe URI if it is valid (type: bytes)
RaisesValueErrorif the URI is not valid
See Alsohttps://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
def makeStatefulDispatcher(name, template):

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.

ParametersnameA 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.
ReturnsThe dispatcher function.
API Documentation for twisted, generated by pydoctor at 2020-03-25 17:34:30.