An HTTP 1.1 client.
The way to use the functionality provided by this module is to:
HTTP11ClientProtocol
to an HTTP serverRequest
with the appropriate dataHTTP11ClientProtocol.request
Response
objectIProtocol
provider which can handle the response bodyResponse.deliverBody
connectionLost
method is called, the response is complete. See Response.deliverBody
for details.Various other classes in this module support this usage:
Variable | STATUS | Undocumented |
Variable | HEADER | Undocumented |
Variable | BODY | Undocumented |
Variable | DONE | Undocumented |
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. |
Variable | _moduleLog | 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. |
Variable | _VALID_METHOD | Undocumented |
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 "(),/:;<=>?@[\]{} .) |
Variable | _VALID_URI | Undocumented |
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 |
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. |