|
@@ -11,10 +11,35 @@ from random import randrange
|
|
|
from app.schemas import line
|
|
|
from app.core.config import settings
|
|
|
import datetime as dt
|
|
|
-from fastapi import APIRouter
|
|
|
-
|
|
|
-
|
|
|
-router = APIRouter()
|
|
|
+from fastapi import APIRouter, FastAPI, Request, Response, Body,Depends
|
|
|
+from fastapi.routing import APIRoute
|
|
|
+from app.api import deps
|
|
|
+from app import crud, models, schemas
|
|
|
+from typing import Callable, List
|
|
|
+from uuid import uuid4
|
|
|
+from sqlalchemy.orm import Session
|
|
|
+
|
|
|
+
|
|
|
+class ContextIncludedRoute(APIRoute):
|
|
|
+ def get_route_handler(self) -> Callable:
|
|
|
+ original_route_handler = super().get_route_handler()
|
|
|
+
|
|
|
+ async def custom_route_handler(request: Request
|
|
|
+ ,db: Session = Depends(deps.get_db)) -> Response:
|
|
|
+ request_id = str(uuid4())
|
|
|
+ response: Response = await original_route_handler(request)
|
|
|
+
|
|
|
+ if await request.body():
|
|
|
+ print(await request.body())
|
|
|
+ print(request.url)
|
|
|
+ print(request.headers)
|
|
|
+
|
|
|
+ response.headers["Request-ID"] = request_id
|
|
|
+ return response
|
|
|
+
|
|
|
+ return custom_route_handler
|
|
|
+
|
|
|
+router = APIRouter(route_class=ContextIncludedRoute)
|
|
|
|
|
|
|
|
|
# callback event
|