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`.`HTTPParser``

class documentation

`class HTTPParser(LineReceiver): (source)`

Known subclasses: `twisted.web._newclient.HTTPClientParser`

View In Hierarchy

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

Method | `allHeadersReceived` | Callback invoked after the last header is passed to `headerReceived`. Override this to change to the `BODY` or `DONE` state.
Method | `connectionMade` | Called when a connection is made.
Method | `headerReceived` | Store the given header in `self.headers`.
Method | `isConnectionControlHeader` | Return `True` if the given lower-cased name is the name of a connection control header (rather than an entity header).
Method | `lineReceived` | Handle one line from a response.
Method | `rawDataReceived` | Pass data from the message body to the body decoder object.
Method | `statusReceived` | Callback invoked whenever the first line of a new message is received. Override this.
Method | `switchToBodyMode` | Switch to body parsing mode - interpret any more bytes delivered as part of the message body and deliver them to the given decoder.
Constant | `CONNECTION_CONTROL_HEADERS` | Undocumented
Class Variable | `delimiter` | Undocumented
Instance Variable | `bodyDecoder` | Undocumented
Instance Variable | `connHeaders` | Undocumented
Instance Variable | `headers` | All of the non-connection control message headers yet received.
Instance Variable | `state` | State indicator for the response parsing state machine. One of `STATUS`, `HEADER`, `BODY`, `DONE`.
Instance Variable | `_partialHeader` | `None` or a `list` of the lines of a multiline header while that header is being received.

Inherited from `LineReceiver`:

Method | `clearLineBuffer` | Clear buffered data.
Method | `dataReceived` | Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.)
Method | `lineLengthExceeded` | Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way.
Method | `sendLine` | Sends a line to the other end of the connection.
Method | `setLineMode` | Sets the line-mode of this receiver.
Method | `setRawMode` | Sets the raw mode of this receiver. Further data received will be sent to rawDataReceived rather than lineReceived.
Constant | `MAX_LENGTH` | The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped). Default is 16384.
Instance Variable | `line_mode` | Undocumented
Instance Variable | `_buffer` | Undocumented
Instance Variable | `_busyReceiving` | Undocumented

Inherited from `Protocol` (via `LineReceiver`):

Method | `connectionLost` | Called when the connection is shut down.
Method | `logPrefix` | Return a prefix matching the class name, to identify log messages related to this protocol instance.
Class Variable | `factory` | Undocumented

Inherited from `BaseProtocol` (via `LineReceiver`, `Protocol`):

Method | `makeConnection` | Make a connection to a transport and a server.
Instance Variable | `connected` | Undocumented
Instance Variable | `transport` | Undocumented

Inherited from `_PauseableMixin` (via `LineReceiver`, `Protocol`, `BaseProtocol`):

Method | `pauseProducing` | Undocumented
Method | `resumeProducing` | Undocumented
Method | `stopProducing` | Undocumented
Instance Variable | `paused` | Undocumented

def allHeadersReceived(self): (source)
overridden in `twisted.web._newclient.HTTPClientParser`

Callback invoked after the last header is passed to `headerReceived`. Override this to change to the `BODY` or `DONE` state.

def connectionMade(self): (source)
from `twisted.internet.interfaces.IProtocol`
overrides `twisted.internet.protocol.BaseProtocol.connectionMade`

Called when a connection is made.

This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.

def headerReceived(self, name, value): (source)

Store the given header in `self.headers`.

def isConnectionControlHeader(self, name): (source)
overridden in `twisted.web._newclient.HTTPClientParser`

Return `True` if the given lower-cased name is the name of a connection control header (rather than an entity header).

According to RFC 2616, section 14.10, the tokens in the Connection header are probably relevant here. However, I am not sure what the practical consequences of either implementing or ignoring that are. So I leave it unimplemented for the time being.

def lineReceived(self, line): (source)
overrides `twisted.protocols.basic.LineReceiver.lineReceived`

Handle one line from a response.

def rawDataReceived(self, data): (source)
overrides `twisted.protocols.basic.LineReceiver.rawDataReceived`

Pass data from the message body to the body decoder object.

def statusReceived(self, status): (source)
overridden in `twisted.web._newclient.HTTPClientParser`

Callback invoked whenever the first line of a new message is received. Override this.

Parameters
status:`bytes` | The first line of an HTTP request or response message without trailing CR LF.

def switchToBodyMode(self, decoder): (source)

Switch to body parsing mode - interpret any more bytes delivered as part of the message body and deliver them to the given decoder.

CONNECTION_CONTROL_HEADERS: `set[bytes]` = (source)

Undocumented

Value

    set([b'content-length',
         b'connection',
         b'keep-alive',
         b'te',
         b'trailers',
         b'transfer-encoding',
         b'upgrade',
    ...

delimiter: `bytes` = (source)
overrides `twisted.protocols.basic.LineReceiver.delimiter`

Undocumented

bodyDecoder = (source)
overridden in `twisted.web._newclient.HTTPClientParser`

Undocumented

connHeaders = (source)

Undocumented

headers = (source)

All of the non-connection control message headers yet received.

state = (source)
overridden in `twisted.web._newclient.HTTPClientParser`

State indicator for the response parsing state machine. One of `STATUS`, `HEADER`, `BODY`, `DONE`.

_partialHeader = (source)

`None` or a `list` of the lines of a multiline header while that header is being received.