ogclient/src/HTTPParser.py

55 lines
1.2 KiB
Python

from mimetools import Message
from StringIO import StringIO
class HTTPParser:
def __init__(self):
self.requestLine = None
self.headersAlone = None
self.headers = None
self.host = None
self.contentType = None
self.contentLen = None
self.operation = None
self.URI = None
def parser(self,data):
self.requestLine, self.headersAlone = data.split('\n', 1)
self.headers = Message(StringIO(self.headersAlone))
if 'host' in self.headers.keys():
self.host = self.headers['host']
if 'content-type' in self.headers.keys():
self.contentType = self.headers['content-type']
if 'content-length' in self.headers.keys():
self.contentLen = int(self.headers['content-length'])
if (not self.requestLine == None or not self.requestLine == ''):
self.operation = self.requestLine.split('/', 1)[0]
self.URI = self.requestLine.split('/', 1)[1]
def getHeaderLine(self):
return self.headersAlone
def getRequestLine(self):
return self.requestLine
def getHeaderParsed(self):
return self.headers
def getHost(self):
return self.host
def getContentType(self):
return self.contentType
def getContentLen(self):
return self.contentLen
def getRequestOP(self):
return self.operation
def getURI(self):
return self.URI