edwagbb commited on
Commit
5f18352
·
1 Parent(s): a984879

Create proxy.py

Browse files
Files changed (1) hide show
  1. proxy.py +29 -0
proxy.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, Response
2
+ import requests
3
+
4
+ app = Flask(__name__)
5
+
6
+ @app.route('/proxy/<path:url>', methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'])
7
+ def proxy(url):
8
+ req_method = request.method
9
+ req_headers = {key: value for key, value in request.headers if key != 'Host'}
10
+ req_data = request.get_data()
11
+
12
+ resp = requests.request(method=req_method,
13
+ url=f'https://{url}',
14
+ headers=req_headers,
15
+ data=req_data,
16
+ stream=True)
17
+
18
+ excluded_headers = ['content-encoding', 'content-length', 'transfer-encoding', 'connection']
19
+ headers = [(name, value) for (name, value) in resp.raw.headers.items()
20
+ if name.lower() not in excluded_headers]
21
+
22
+ def generate():
23
+ for chunk in resp.iter_content(chunk_size=4096):
24
+ yield chunk
25
+
26
+ return Response(generate(), status=resp.status_code, headers=headers)
27
+
28
+ if __name__ == '__main__':
29
+ app.run(port=7860)