|
@@ -3,7 +3,7 @@ import logging
|
|
import boto3
|
|
import boto3
|
|
import requests
|
|
import requests
|
|
import yt_dlp
|
|
import yt_dlp
|
|
-from flask import Flask, request, Response
|
|
|
|
|
|
+from flask import Flask, request, Response, stream_with_context
|
|
|
|
|
|
logging.basicConfig(format='%(asctime)s [%(levelname)s] %(filename)s:%(lineno)d %(message)s',
|
|
logging.basicConfig(format='%(asctime)s [%(levelname)s] %(filename)s:%(lineno)d %(message)s',
|
|
datefmt='%Y-%m-%d %H:%M:%S', level=logging.INFO)
|
|
datefmt='%Y-%m-%d %H:%M:%S', level=logging.INFO)
|
|
@@ -37,12 +37,13 @@ def p():
|
|
url = item.get("url")
|
|
url = item.get("url")
|
|
response = requests.get(url, stream=True)
|
|
response = requests.get(url, stream=True)
|
|
logging.info(f"videoId: {video_id} status code: {response.status_code}")
|
|
logging.info(f"videoId: {video_id} status code: {response.status_code}")
|
|
-
|
|
|
|
- def generate():
|
|
|
|
- for chunk in response.iter_content(chunk_size=1024):
|
|
|
|
- yield chunk
|
|
|
|
-
|
|
|
|
- return Response(generate(), status=response.status_code, headers=dict(response.headers))
|
|
|
|
|
|
+ response_iter = response.iter_content(chunk_size=4096)
|
|
|
|
+ response_iter = stream_with_context(response_iter)
|
|
|
|
+ forwarded_response = Response(
|
|
|
|
+ response_iter,
|
|
|
|
+ status=response.status_code,
|
|
|
|
+ headers=dict(response.headers.items()))
|
|
|
|
+ return forwarded_response
|
|
return {"status": 0}
|
|
return {"status": 0}
|
|
|
|
|
|
|
|
|