Class e.p.h.e.c.HTTPParser(object):

Part of elisa.plugins.http_client.extern.channel_http View In Hierarchy

Known subclasses: elisa.plugins.http_client.extern.channel_http.HTTPChannelRequest, elisa.plugins.http_client.extern.client_http.HTTPClientChannelRequest

This class 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.
Line # Kind Name Docs
85 Method __init__ Undocumented
89 Method lineReceived Undocumented
156 Method rawDataReceived Handle incoming content.
179 Method headerReceived Store this header away. Check for too much header data
191 Method allHeadersReceived Undocumented
199 Method allContentReceived Undocumented
205 Method splitConnectionHeaders Split off connection control headers from normal headers.
271 Method setConnectionParams Undocumented
329 Method abortParse Undocumented
337 Method pauseProducing Undocumented
341 Method resumeProducing Undocumented
345 Method stopProducing Undocumented
def __init__(self, channel):
Undocumented
def lineReceived(self, line):
Undocumented
def rawDataReceived(self, data):
Handle incoming content.
def headerReceived(self, line):
Store this header away. Check for too much header data (> channel.maxHeaderLength) and abort the connection if so.
def allHeadersReceived(self):
Undocumented
def allContentReceived(self):
Undocumented
def splitConnectionHeaders(self):

Split off connection control headers from normal headers.

The normal headers are then passed on to user-level code, while the connection headers are stashed in .connHeaders and used for things like request/response framing.

This corresponds roughly with the HTTP RFC's description of 'hop-by-hop' vs 'end-to-end' headers in RFC2616 S13.5.1, with the following exceptions:

  • proxy-authenticate and proxy-authorization are not treated as connection headers.
  • content-length is, as it is intimiately related with low-level HTTP parsing, and is made available to user-level code via the stream length, rather than a header value. (except for HEAD responses, in which case it is NOT used by low-level HTTP parsing, and IS kept in the normal headers.
def setConnectionParams(self, connHeaders):
Undocumented
def abortParse(self):
Undocumented
def pauseProducing(self):
Undocumented
def resumeProducing(self):
Undocumented
def stopProducing(self):
Undocumented
API Documentation for Elisa Media Center, generated by pydoctor at 2009-02-16 19:15:05.