aboutsummaryrefslogtreecommitdiff
path: root/test/proxy_core.py
diff options
context:
space:
mode:
authorjahoti <jahoti@tilde.team>2021-08-17 00:00:00 +0000
committerjahoti <jahoti@tilde.team>2021-08-17 00:00:00 +0000
commite9b7f4d7bf624ccb0ed503f20b85288a575d020d (patch)
tree0c7ce1539a7a62592dd8303b940bbe96ff8ac69c /test/proxy_core.py
parent5b7c9edbbb46074436b819435feb80ebbd9ab4ad (diff)
downloadbrowser-extension-e9b7f4d7bf624ccb0ed503f20b85288a575d020d.tar.gz
browser-extension-e9b7f4d7bf624ccb0ed503f20b85288a575d020d.zip
Enable the hijacking proxy in the test suite to serve responses
Diffstat (limited to 'test/proxy_core.py')
-rw-r--r--test/proxy_core.py26
1 files changed, 2 insertions, 24 deletions
diff --git a/test/proxy_core.py b/test/proxy_core.py
index 6b214cf..5a23278 100644
--- a/test/proxy_core.py
+++ b/test/proxy_core.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python3
-#
# Copyright (c) 2015, inaz2
# Copyright (C) 2021 jahoti <jahoti@tilde.team>
# Licensing information is collated in the `copyright` file
@@ -38,7 +36,7 @@ class ProxyRequestHandler(BaseHTTPRequestHandler):
p1 = Popen((gen_cert_req % hostname).split(' '), stdout=PIPE).stdout
Popen((sign_cert_req % (time.time() * 1000, certpath)).split(' '), stdin=p1, stderr=PIPE).communicate()
- self.wfile.write('HTTP/1.1 200 Connection Established\r\n')
+ self.send_response(200)
self.end_headers()
self.connection = ssl.wrap_socket(self.connection, keyfile='cert.key', certfile=certpath, server_side=True)
@@ -48,18 +46,6 @@ class ProxyRequestHandler(BaseHTTPRequestHandler):
self.close_connection = int(self.headers.get('Proxy-Connection', '').lower() == 'close')
def proxy(self):
- if self.path == 'http://hachette.test/':
- with open('ca.crt', 'rb') as f:
- data = f.read()
-
- self.wfile.write('HTTP/1.1 200 OK\r\n')
- self.send_header('Content-Type', 'application/x-x509-ca-cert')
- self.send_header('Content-Length', len(data))
- self.send_header('Connection', 'close')
- self.end_headers()
- self.wfile.write(data)
- return
-
content_length = int(self.headers.get('Content-Length', 0))
req_body = self.rfile.read(content_length) if content_length else None
@@ -79,18 +65,10 @@ class ProxyRequestHandler(BaseHTTPRequestHandler):
class ThreadingHTTPServer(ThreadingMixIn, HTTPServer):
"""The actual proxy server"""
- address_family, daemon_threads, handler = socket.AF_INET6, True, ProxyRequestHandler
+ address_family, daemon_threads = socket.AF_INET6, True
def handle_error(self, request, client_address):
# suppress socket/ssl related errors
cls, e = sys.exc_info()[:2]
if not (cls is socket.error or cls is ssl.SSLError):
return HTTPServer.handle_error(self, request, client_address)
-
-
-def start(server_class, port=1337):
- """Start up the proxy/server"""
-
- print('Serving HTTP Proxy')
- httpd = server_class(('::1', port), ProxyRequestHandler)
- httpd.serve_forever()