File size: 1,930 Bytes
1f725d8
 
5551822
1f725d8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5551822
 
 
 
 
 
1f725d8
 
 
 
5551822
 
 
1f725d8
 
 
 
 
5551822
 
 
1f725d8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
from api.MultiRag.routes import chat_route, uploader_route, pages_route,get_all_thread_route,load_conversation_route,get_available_file_fomates_route, delete_thread_route
app = FastAPI()

@app.middleware("http")
async def check_user_id(request: Request, call_next):
    # Skip middleware for static files and page routes to allow initial connection
    public_routes = [
        "/",
        "/chat",
        "/web",
        "/blog",
        "/docs",
        "/redoc",
        "/openapi.json",
        "/favicon.ico",
    ]
    if request.url.path.startswith("/static") or request.url.path.startswith("/blog/images") or request.url.path in public_routes:
        return await call_next(request)

    user_id = request.headers.get("user_id") or request.query_params.get("user_id")

    if not user_id:
        return JSONResponse(
            status_code=401,
            content={"message": "user_id header missing"}
        )

    response = await call_next(request)
    return response

app.include_router(pages_route.router)
app.include_router(prefix="/api/v1/chat", router=chat_route.router)
app.include_router(prefix="/api/v1/uploader", router=uploader_route.router)
app.include_router(prefix="/api/v1/thread", router=get_all_thread_route.router)
app.include_router(prefix="/api/v1/thread", router=delete_thread_route.router)
app.include_router(prefix="/api/v1/conversation", router=load_conversation_route.router)
app.include_router(prefix="/api/v1/file_formats", router=get_available_file_fomates_route.router)




# # -------------------- Web -------------------------------
# app.include_router(page_route_web.router)
# app.include_router(prefix="/web",router=web_talk_routes.router)





# # ------------ Blog --------------------
# app.include_router(page_route_blog.router)
# app.include_router(prefix="/blog",router=blog_router.router)