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

class documentation

`class HTTPClientParser(HTTPParser): (source)`

View In Hierarchy

An HTTP parser which only handles HTTP responses.

Method | `__init__` | Undocumented
Method | `allHeadersReceived` | Figure out how long the response body is going to be by examining headers and stuff.
Method | `connectionLost` | Called when the connection is shut down.
Method | `dataReceived` | Override so that we know if any response has been received.
Method | `isConnectionControlHeader` | Content-Length in the response to a HEAD request is an entity header, not a connection control header.
Method | `parseVersion` | Parse version strings of the form Protocol '/' Major '.' Minor. E.g. b'HTTP/1.1'. Returns (protocol, major, minor). Will raise ValueError on bad syntax.
Method | `statusReceived` | Parse the status line into its components and create a response object to keep track of this response's state.
Constant | `NO_BODY_CODES` | A `set` of response codes which MUST NOT have a body.
Class Variable | `bodyDecoder` | Undocumented
Instance Variable | `finisher` | A callable to invoke when this response is fully parsed.
Instance Variable | `request` | The request with which the expected response is associated.
Instance Variable | `response` | Undocumented
Instance Variable | `state` | Undocumented
Method | `_finished` | Called to indicate that an entire response has been received. No more bytes will be interpreted by this `HTTPClientParser`. Extra bytes are passed up and the state of this `HTTPClientParser` is set to DONE.
Class Variable | `_log` | Undocumented
Class Variable | `_transferDecoders` | Undocumented
Instance Variable | `_everReceivedData` | `True` if any bytes have been received.
Instance Variable | `_responseDeferred` | A `Deferred` which will be called back with the response when all headers in the response have been received. Thereafter, `None`.

Inherited from `HTTPParser`:

Method | `connectionMade` | Called when a connection is made.
Method | `headerReceived` | Store the given header in `self.headers`.
Method | `lineReceived` | Handle one line from a response.
Method | `rawDataReceived` | Pass data from the message body to the body decoder object.
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 | `connHeaders` | Undocumented
Instance Variable | `headers` | All of the non-connection control message headers yet received.
Instance Variable | `_partialHeader` | `None` or a `list` of the lines of a multiline header while that header is being received.

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

Method | `clearLineBuffer` | Clear buffered data.
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 `HTTPParser`, `LineReceiver`):

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 `HTTPParser`, `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 `HTTPParser`, `LineReceiver`):

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

def __init__(self, request, finisher): (source)

Undocumented

def allHeadersReceived(self): (source)
overrides `twisted.web._newclient.HTTPParser.allHeadersReceived`
Figure out how long the response body is going to be by examining headers and stuff.
def connectionLost(self, reason): (source)
from `twisted.internet.interfaces.IProtocol`
overrides `twisted.internet.protocol.Protocol.connectionLost`

Called when the connection is shut down.

Clear any circular references here, and any external references to this Protocol. The connection has been closed.

Parameters
reason:`twisted.python.failure.Failure` | Undocumented

def dataReceived(self, data): (source)
from `twisted.internet.interfaces.IProtocol`
overrides `twisted.protocols.basic.LineReceiver.dataReceived`
Override so that we know if any response has been received.
def isConnectionControlHeader(self, name): (source)
overrides `twisted.web._newclient.HTTPParser.isConnectionControlHeader`
Content-Length in the response to a HEAD request is an entity header, not a connection control header.
def parseVersion(self, strversion): (source)
Parse version strings of the form Protocol '/' Major '.' Minor. E.g. b'HTTP/1.1'. Returns (protocol, major, minor). Will raise ValueError on bad syntax.
def statusReceived(self, status): (source)
overrides `twisted.web._newclient.HTTPParser.statusReceived`
Parse the status line into its components and create a response object to keep track of this response's state.
NO_BODY_CODES = (source)
A `set` of response codes which MUST NOT have a body.

Value

    set([NO_CONTENT, NOT_MODIFIED])

bodyDecoder = (source)
overrides `twisted.web._newclient.HTTPParser.bodyDecoder`

Undocumented

finisher = (source)
A callable to invoke when this response is fully parsed.
request: `Request` = (source)
The request with which the expected response is associated.
response = (source)

Undocumented

state = (source)
overrides `twisted.web._newclient.HTTPParser.state`

Undocumented

def _finished(self, rest): (source)
Called to indicate that an entire response has been received. No more bytes will be interpreted by this `HTTPClientParser`. Extra bytes are passed up and the state of this `HTTPClientParser` is set to DONE.

Parameters
rest | A `bytes` giving any extra bytes delivered to this `HTTPClientParser` which are not part of the response being parsed.

_log = (source)

Undocumented

_transferDecoders = (source)

Undocumented

_everReceivedData: `bool` = (source)
`True` if any bytes have been received.
_responseDeferred = (source)
A `Deferred` which will be called back with the response when all headers in the response have been received. Thereafter, `None`.