izuemon commited on
Commit
533a323
·
verified ·
1 Parent(s): 53c9456

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -0
app.py CHANGED
@@ -5,6 +5,9 @@ import subprocess
5
  import sys
6
 
7
  app = Flask(__name__)
 
 
 
8
 
9
  processes = {
10
  "yt": {
@@ -141,6 +144,52 @@ def cors_proxy():
141
 
142
  return response
143
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  if __name__ == "__main__":
145
  if os.environ.get("WERKZEUG_RUN_MAIN") != "true":
146
  start_processes()
 
5
  import sys
6
 
7
  app = Flask(__name__)
8
+ @app.route("/")
9
+ def index():
10
+ return "Hello world"
11
 
12
  processes = {
13
  "yt": {
 
144
 
145
  return response
146
 
147
+ @app.errorhandler(404)
148
+ def cors_proxy_404(e):
149
+ baseurl = request.args.get("baseurl23896")
150
+ if not baseurl:
151
+ return abort(404)
152
+
153
+ # baseurl23896 以外のパラメータをそのまま渡す
154
+ forward_params = {
155
+ k: v for k, v in request.args.items()
156
+ if k != "baseurl23896"
157
+ }
158
+
159
+ # 転送先URLを組み立て
160
+ target_url = baseurl.rstrip("/") + request.path
161
+ if forward_params:
162
+ target_url += "?" + urlencode(forward_params, doseq=True)
163
+
164
+ try:
165
+ resp = requests.request(
166
+ method=request.method,
167
+ url=target_url,
168
+ headers={
169
+ k: v for k, v in request.headers
170
+ if k.lower() not in ["host", "content-length"]
171
+ },
172
+ data=request.get_data(),
173
+ cookies=request.cookies,
174
+ allow_redirects=False,
175
+ timeout=10,
176
+ )
177
+ except requests.RequestException:
178
+ return abort(502)
179
+
180
+ excluded_headers = [
181
+ "content-encoding",
182
+ "content-length",
183
+ "transfer-encoding",
184
+ "connection",
185
+ ]
186
+ headers = [
187
+ (k, v) for k, v in resp.headers.items()
188
+ if k.lower() not in excluded_headers
189
+ ]
190
+
191
+ return Response(resp.content, resp.status_code, headers)
192
+
193
  if __name__ == "__main__":
194
  if os.environ.get("WERKZEUG_RUN_MAIN") != "true":
195
  start_processes()