class documentation

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.
Instance 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 All of the connection control message headers yet received. See CONNECTION_CONTROL_HEADERS and isConnectionControlHeader.
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, Protocol, BaseProtocol):

Method pauseProducing Undocumented
Method resumeProducing Undocumented
Method stopProducing Undocumented
Instance Variable paused Undocumented
def __init__(self, request, finisher): (source)

Undocumented

def allHeadersReceived(self): (source)

Figure out how long the response body is going to be by examining headers and stuff.

def connectionLost(self, reason: Failure|None = None): (source)

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.FailureUndocumented
def dataReceived(self, data): (source)

Override so that we know if any response has been received.

def isConnectionControlHeader(self, name): (source)

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)

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])
finisher = (source)

A callable to invoke when this response is fully parsed.

The request with which the expected response is associated.

response = (source)

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
restA bytes giving any extra bytes delivered to this HTTPClientParser which are not part of the response being parsed.

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.