from fastly_compute import requests
from fastly_compute.wsgi import WsgiHttpIncoming
from flask import Flask, request
app = Flask(__name__)
@app.route("/", defaults={"path": ""})
@app.route("/<path:path>")
def handle_request(path):
headers = dict(request.headers)
headers.pop("Accept-Encoding", None)
headers["Cdn-Secret"] = "9yfncb340-6abf5oa-ejni22jkdg"
backend_response = requests.request(
request.method,
request.url,
headers=headers,
data=request.get_data(),
fastly_backend="origin_0",
)
resp_headers = [
(name, value)
for name, value in backend_response.headers.items()
if name.lower() not in ("x-amz-request-id", "server")
]
resp_headers.append(("Cache-Control", "max-age=60"))
resp_headers.append(("Content-Security-Policy", "default-src 'self'"))
return (
backend_response.content,
backend_response.status_code,
resp_headers,
)
HttpIncoming = WsgiHttpIncoming(app)