1
1
"""Initalizing fastapi"""
2
2
3
- from fastapi import FastAPI
3
+ from fastapi import FastAPI , Request
4
4
from fastapi .responses import FileResponse
5
5
from fastapi .staticfiles import StaticFiles
6
6
@@ -27,5 +27,35 @@ async def exception_404_handler(_, __):
27
27
return FileResponse (f"{ FRONTEND_PATH } /index.html" )
28
28
29
29
30
+ @app .get ("/api/diagnostics" )
31
+ async def diagnostics (request : Request ):
32
+ """
33
+ Endpoint to display all diagnostic information about the incoming request.
34
+ """
35
+ return {
36
+ "method" : request .method ,
37
+ "url" : {
38
+ "str" : str (request .url ),
39
+ "is_secure" : request .url .is_secure ,
40
+ "scheme" : request .url .scheme ,
41
+ "netloc" : {
42
+ "str" : request .url .netloc ,
43
+ "hostname" : request .url .hostname ,
44
+ "port" : request .url .port ,
45
+ },
46
+ "path" : request .url .path ,
47
+ "fragment" : request .url .fragment ,
48
+ },
49
+ "path_params" : dict (request .path_params ),
50
+ "query_params" : dict (request .query_params ),
51
+ "client" : {
52
+ "host" : request .client .host if request .client else "UNKNOWN" ,
53
+ "port" : request .client .port if request .client else "UNKNOWN" ,
54
+ },
55
+ "headers" : dict (request .headers ),
56
+ "cookies" : request .cookies ,
57
+ }
58
+
59
+
30
60
# serve frontend
31
61
app .mount ("/" , StaticFiles (directory = FRONTEND_PATH , html = True ), "frontend" )
0 commit comments