Part of twisted.web._newclient View Source View In Hierarchy
Known subclasses: twisted.web._newclient.HTTPClientParser
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.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 . |
Method | connectionMade | Called when a connection is made. |
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. |
Method | lineReceived | Handle one line from a response. |
Method | rawDataReceived | Pass data from the message body to the body decoder object. |
Method | isConnectionControlHeader | Return True if the given lower-cased name is the name of a
connection control header (rather than an entity header). |
Method | statusReceived | Callback invoked whenever the first line of a new message is received. Override this. |
Method | headerReceived | Store the given header in self.headers . |
Method | allHeadersReceived | Callback invoked after the last header is passed to
headerReceived . Override this to change to the
BODY or DONE state. |
Instance Variable | _partialHeader | None or a list of the lines of a multiline header
while that header is being received. |
Inherited from LineReceiver:
Class Variable | delimiter | The line-ending delimiter to use. By default this is b'\r\n' . |
Class Variable | 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. |
Method | clearLineBuffer | Clear buffered data. |
Method | dataReceived | Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.) |
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. |
Method | sendLine | Sends a line to the other end of the connection. |
Method | lineLengthExceeded | Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way. |
Inherited from Protocol (via LineReceiver):
Method | logPrefix | Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Method | connectionLost | Called when the connection is shut down. |
Inherited from BaseProtocol (via LineReceiver, Protocol):
Method | makeConnection | Make a connection to a transport and a server. |
Inherited from _PauseableMixin (via LineReceiver):
Method | pauseProducing | Undocumented |
Method | resumeProducing | Undocumented |
Method | stopProducing | Undocumented |
None
or a list
of the lines of a multiline header
while that header is being received.
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.
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.
Parameters | status | The first line of an HTTP request or response message without trailing
CR LF. (type: str ) |
headerReceived
. Override this to change to the
BODY
or DONE
state.