diff options
Diffstat (limited to 'libpathod/pathod.py')
-rw-r--r-- | libpathod/pathod.py | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/libpathod/pathod.py b/libpathod/pathod.py index f712582e..c700b550 100644 --- a/libpathod/pathod.py +++ b/libpathod/pathod.py @@ -1,14 +1,25 @@ -import netlib +from netlib import tcp, protocol, odict -class PathodHandler(netlib.BaseHandler): +class PathodHandler(tcp.BaseHandler): def handle(self): - print "Here" + line = self.rfile.readline() + if line == "\r\n" or line == "\n": # Possible leftover from previous message + line = self.rfile.readline() + if line == "": + return None + method, path, httpversion = protocol.parse_init_http(line) + headers = odict.ODictCaseless(protocol.read_headers(self.rfile)) + content = protocol.read_http_body_request( + self.rfile, self.wfile, headers, httpversion, None + ) + print method, path, httpversion + #return flow.Request(client_conn, httpversion, host, port, "http", method, path, headers, content) -class PathodServer(netlib.TCPServer): + +class Pathod(tcp.TCPServer): def __init__(self, addr): - netlib.TCPServer.__init__(self, addr) + tcp.TCPServer.__init__(self, addr) def handle_connection(self, request, client_address): PathodHandler(request, client_address, self) - |