Go to the latest version of this document.
search in docstrings

Search bar offers the following options:

- Term presence. The below example searches for documents that must contain “foo”, might contain “bar” and must not contain “baz”: `+foo bar -baz`
- Wildcards. The below example searches for documents with words beginning with “foo”: `foo*`
- Search in specific fields. The following search matches all objects in "twisted.mail" that matches “search”: `+qname:twisted.mail.* +search`

  Possible fields: 'name', 'qname' (fully qualified name), 'docstring', and 'kind'. Last two fields are only applicable if "search in docstrings" is enabled.

- Fuzzy matches. The following search matches all documents that have a word within 1 edit distance of “foo”: `foo~1`

Results provided by Lunr.js

# ``twisted`.`web`.`_newclient``

module documentation
(source)

An HTTP 1.1 client.

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

- Connect a `HTTP11ClientProtocol` to an HTTP server
- Create a `Request` with the appropriate data
- Pass the request to `HTTP11ClientProtocol.request`
- The returned Deferred will fire with a `Response` object
- Create a `IProtocol` provider which can handle the response body
- Connect it to the response with `Response.deliverBody`
- When the protocol's `connectionLost` method is called, the response is complete. See `Response.deliverBody` for details.

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 | `ChunkedEncoder` | Helper object which exposes `IConsumer` on top of `HTTP11ClientProtocol` for streaming request bodies to the server.
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 | `Request` | A `Request` instance describes an HTTP request to be sent to an HTTP 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.
Exception | `BadHeaders` | Headers passed to `Request` were in some way invalid.
Exception | `BadResponseVersion` | The version string in a status line was unparsable.
Exception | `ConnectionAborted` | The connection was explicitly aborted by application code.
Exception | `ExcessWrite` | The body `IBodyProducer` for a request tried to write data after indicating it had finished writing data.
Exception | `ParseError` | Some received data could not be parsed.
Exception | `RequestNotSent` | `RequestNotSent` indicates that an attempt was made to issue a request but for reasons unrelated to the details of the request itself, the request could not be sent. For example, this may indicate that an attempt was made to send a request using a protocol which is no longer connected to a server.
Exception | `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` | 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 ...
Constant | `BODY` | Undocumented
Constant | `DONE` | Undocumented
Constant | `HEADER` | Undocumented
Constant | `STATUS` | Undocumented
Exception | `_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).
Constant | `_VALID_METHOD` | Undocumented
Constant | `_VALID_URI` | Undocumented
Variable | `_ClientRequestProxy` | Undocumented
Variable | `_moduleLog` | 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
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.

BODY: `str` = (source)

Undocumented

Value

    'BODY'

DONE: `str` = (source)

Undocumented

Value

    'DONE'

HEADER: `str` = (source)

Undocumented

Value

    'HEADER'

STATUS: `str` = (source)

Undocumented

Value

    'STATUS'

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:`bytes` | the method to check
Returns
`bytes` | the method if it is valid
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

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:`bytes` | the URI to check
Returns
`bytes` | the URI if it is valid
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

_VALID_METHOD = (source)

Undocumented

Value

    re.compile(b'\\A[%s]+\\Z'%(bytes().join((b'!',
                                             b'#',
                                             b'$',
                                             b'%',
                                             b'&',
                                             b''',
                                             b'*',
    ...

_VALID_URI = (source)

Undocumented

Value

    re.compile(rb'\A[!-~]+\Z')

_ClientRequestProxy = (source)

Undocumented

_moduleLog = (source)

Undocumented