summaryrefslogtreecommitdiff
path: root/bin/proxy.py
diff options
context:
space:
mode:
authorjules <julescarbon@gmail.com>2018-11-18 14:34:39 +0100
committerjules <julescarbon@gmail.com>2018-11-18 14:34:39 +0100
commitb40da08f7324e9941646372bcfde7ae31dd9f9d1 (patch)
tree859abea68e08e602669b5df186509b9f602c6434 /bin/proxy.py
parent567ff9c4ad1aba2a9dba6ccea47c4ddbcaf3a1a6 (diff)
working proxyHEADmaster
Diffstat (limited to 'bin/proxy.py')
-rwxr-xr-xbin/proxy.py23
1 files changed, 10 insertions, 13 deletions
diff --git a/bin/proxy.py b/bin/proxy.py
index b44bbbc..b586a5b 100755
--- a/bin/proxy.py
+++ b/bin/proxy.py
@@ -3,29 +3,26 @@ import http.server
import urllib.request
import re
-class MyHTTPRequestHandler(http.server.CGIHTTPRequestHandler ):
+class ProxyHandler(http.server.CGIHTTPRequestHandler):
def end_headers(self):
self.send_my_headers()
-
- http.server.CGIHTTPRequestHandler .end_headers(self)
+ http.server.CGIHTTPRequestHandler.end_headers(self)
def send_my_headers(self):
self.send_header("Access-Control-Allow-Origin", "*")
def do_GET(self):
if self.path[0:14] == "/cgi-bin/proxy":
- self.copyfile(urllib.request.urlopen(self.path[15:]), self.wfile)
- elif re.match(r'.+cgi-bin/im/shader/.+$', self.path):
- self.path = re.sub(r'(.+cgi-bin/)im/shader/(.+)$', r'\1\2', self.path);
- super().do_GET();
+ url = self.path[15:]
+ res = urllib.request.urlopen(url)
+ self.send_response(res.status)
+ self.send_header("Content-Type", res.getheader('Content-Type'))
+ self.send_header("Content-Length", res.getheader('Content-Length'))
+ self.end_headers()
+ self.wfile.write(res.read())
else:
super().do_GET()
- def do_POST(self):
- if re.match(r'.+cgi-bin/im/shader/.+$', self.path):
- self.path = re.sub(r'(.+cgi-bin/)im/shader/(.+)$', r'\1\2', self.path);
- super().do_POST();
-
if __name__ == '__main__':
- http.server.test(HandlerClass=MyHTTPRequestHandler)
+ http.server.test(HandlerClass=ProxyHandler)