I am making a rick roll site for discord and I would like to redirect to rick roll on 404 response status codes.
I’ve tried the following, but didn’t work:
@app.exception_handler(fastapi.HTTPException)
async def http_exception_handler(request, exc):
...
>Solution :
You would need to create a middleware and check for the status_code of the response. If it is 404, then return a RedirectResponse. Example:
from fastapi.responses import RedirectResponse
@app.middleware("http")
async def redirect_on_not_found(request: Request, call_next):
response = await call_next(request)
if response.status_code == 404:
return RedirectResponse("https://fastapi.tiangolo.com")
else:
return response