from fastapi import FastAPI, Request, Response
from pydantic import BaseModel, ConfigDict
filenames = ["js/interactive_grid.js"]
contents = "\n".join(
[f"" for x in filenames]
)
ga_script = """
"""
app = FastAPI()
class CustomConfig(BaseModel):
model_config = ConfigDict(arbitrary_types_allowed=True)
@app.middleware("http")
async def insert_js(request: Request, call_next):
path = request.scope["path"] # get the request route
response = await call_next(request)
if path == "/":
response_body = ""
async for chunk in response.body_iterator:
response_body += chunk.decode()
charset_tag = ''
if charset_tag in response_body:
response_body = response_body.replace(charset_tag, charset_tag + ga_script)
response_body = response_body.replace("