mitmproxy/libpathod/pathod.py
2012-06-19 13:23:07 +12:00

26 lines
955 B
Python

from netlib import tcp, protocol, odict
class PathodHandler(tcp.BaseHandler):
def handle(self):
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 Pathod(tcp.TCPServer):
def __init__(self, addr):
tcp.TCPServer.__init__(self, addr)
def handle_connection(self, request, client_address):
PathodHandler(request, client_address, self)