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 Requestwere in
some way invalid. | 
| Class | ExcessWrite | The body IBodyProducerfor 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 IBodyProducerdeclared the number of bytes it was going to produce (via itslengthattribute) and then produced a different number of 
bytes. | 
| Class | RequestNotSent | No summary | 
| Class | HTTPParser | HTTPParserhandles 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 Requestinstance describes an HTTP request to be sent to an HTTP server. | 
| Class | LengthEnforcingConsumer | An IConsumerproxy which enforces an exact length requirement on the total data written 
to it. | 
| Function | makeStatefulDispatcher | No summary | 
| Class | ChunkedEncoder | Helper object which exposes IConsumeron top ofHTTP11ClientProtocolfor streaming request bodies to the server. | 
| Class | TransportProxyProducer | An twisted.internet.interfaces.IPushProducerimplementation which wraps another such thing and proxies calls to it until
it is told to stop. | 
| Class | HTTP11ClientProtocol | HTTP11ClientProtocolis an implementation of the HTTP 1.1 client protocol.  It supports as few 
features as possible. | 
| Class | _WrapperException | _WrapperExceptionis 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. | |