An HTTP 1.1 client.
The way to use the functionality provided by this module is to:
HTTP11ClientProtocol
to an HTTP server
Request
with the appropriate data
HTTP11ClientProtocol.request
Response
object
IProtocol
provider which can handle the response body
Response.deliverBody
connectionLost
method is called, the
response is complete. See Response.deliverBody
for details.
Various other classes in this module support this usage:
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). |
Call function
. If it raises an exception, log it with a
minimal description of the source.
Returns | None |
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 | the method to check (type: bytes ) |
Returns | the method if it is valid (type: bytes ) | |
Raises | ValueError | if 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 |
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 | the URI to check (type: bytes ) |
Returns | the URI if it is valid (type: bytes ) | |
Raises | ValueError | if 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 |
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 | name | A string which is used to construct the name of the subsidiary method to
invoke. The subsidiary method is named like '_%s_%s' % (name,
_state) . |
template | A function object which is used to give the returned function a docstring. | |
Returns | The dispatcher function. |