diff options
author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-02-16 20:34:14 +0100 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2016-02-16 20:37:53 +0100 |
commit | dedca540996f337f3965fb87531fd03d7e27e417 (patch) | |
tree | 26fd182cd12d3c561f2a6baa9db992ffd1080040 /pathod/libpathod/protocols/http.py | |
parent | ef8e95956d938fd4891d79fdbfa83f8a77a482cb (diff) | |
download | mitmproxy-dedca540996f337f3965fb87531fd03d7e27e417.tar.gz mitmproxy-dedca540996f337f3965fb87531fd03d7e27e417.tar.bz2 mitmproxy-dedca540996f337f3965fb87531fd03d7e27e417.zip |
rename pathod source directory
Diffstat (limited to 'pathod/libpathod/protocols/http.py')
-rw-r--r-- | pathod/libpathod/protocols/http.py | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/pathod/libpathod/protocols/http.py b/pathod/libpathod/protocols/http.py deleted file mode 100644 index 1f1765cb..00000000 --- a/pathod/libpathod/protocols/http.py +++ /dev/null @@ -1,71 +0,0 @@ -from netlib import tcp, wsgi -from netlib.exceptions import HttpReadDisconnect, TlsException -from netlib.http import http1, Request -from .. import version, language - - -class HTTPProtocol(object): - def __init__(self, pathod_handler): - self.pathod_handler = pathod_handler - - def make_error_response(self, reason, body): - return language.http.make_error_response(reason, body) - - def handle_http_app(self, method, path, headers, body, lg): - """ - Handle a request to the built-in app. - """ - if self.pathod_handler.server.noweb: - crafted = self.pathod_handler.make_http_error_response("Access Denied") - language.serve(crafted, self.pathod_handler.wfile, self.pathod_handler.settings) - return None, dict( - type="error", - msg="Access denied: web interface disabled" - ) - lg("app: %s %s" % (method, path)) - req = wsgi.Request("http", method, path, b"HTTP/1.1", headers, body) - flow = wsgi.Flow(self.pathod_handler.address, req) - sn = self.pathod_handler.connection.getsockname() - a = wsgi.WSGIAdaptor( - self.pathod_handler.server.app, - sn[0], - self.pathod_handler.server.address.port, - version.NAMEVERSION - ) - a.serve(flow, self.pathod_handler.wfile) - return self.pathod_handler.handle_http_request, None - - def handle_http_connect(self, connect, lg): - """ - Handle a CONNECT request. - """ - - self.pathod_handler.wfile.write( - 'HTTP/1.1 200 Connection established\r\n' + - ('Proxy-agent: %s\r\n' % version.NAMEVERSION) + - '\r\n' - ) - self.pathod_handler.wfile.flush() - if not self.pathod_handler.server.ssloptions.not_after_connect: - try: - cert, key, chain_file_ = self.pathod_handler.server.ssloptions.get_cert( - connect[0] - ) - self.pathod_handler.convert_to_ssl( - cert, - key, - handle_sni=self.pathod_handler.handle_sni, - request_client_cert=self.pathod_handler.server.ssloptions.request_client_cert, - cipher_list=self.pathod_handler.server.ssloptions.ciphers, - method=self.pathod_handler.server.ssloptions.ssl_version, - options=self.pathod_handler.server.ssloptions.ssl_options, - alpn_select=self.pathod_handler.server.ssloptions.alpn_select, - ) - except TlsException as v: - s = str(v) - lg(s) - return None, dict(type="error", msg=s) - return self.pathod_handler.handle_http_request, None - - def read_request(self, lg=None): - return http1.read_request(self.pathod_handler.rfile) |