wnm168 commited on
Commit
ab8439a
·
verified ·
1 Parent(s): 79c0611

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +17 -9
main.py CHANGED
@@ -10,6 +10,7 @@ from pikpakapi import PikPakApi
10
  from typing import Union, Any, Dict, List, Optional
11
  from fastapi import (
12
  FastAPI,
 
13
  Depends,
14
  Request,
15
  Body,
@@ -70,9 +71,9 @@ PROXY_URL = os.getenv("PROXY_URL")
70
  async def verify_token(
71
  request: Request, credentials: HTTPAuthorizationCredentials = Depends(security)
72
  ):
73
- excluded_paths = ["/"] # 需要排除的路径列表
74
- if request.url.path in excluded_paths:
75
- return # 直接跳过验证
76
 
77
  # 验证Bearer格式
78
  if credentials.scheme != "Bearer":
@@ -88,7 +89,7 @@ async def verify_token(
88
  )
89
 
90
 
91
- app = FastAPI(dependencies=[Depends(verify_token)])
92
  app.add_middleware(
93
  CORSMiddleware,
94
  allow_origins=["*"],
@@ -97,6 +98,9 @@ app.add_middleware(
97
  allow_headers=["*"],
98
  )
99
 
 
 
 
100
  templates = Jinja2Templates(
101
  directory="templates", variable_start_string="{[", variable_end_string="]}"
102
  )
@@ -138,30 +142,34 @@ async def init_client():
138
  )
139
 
140
 
141
- @app.get("/", response_class=HTMLResponse)
142
  async def home(request: Request):
143
  return templates.TemplateResponse("index.html", {"request": request})
144
 
145
 
146
- @app.post("/files")
147
  async def get_files(item: FileRequest):
148
  return await THUNDERX_CLIENT.file_list(
149
  item.size, item.parent_id, item.next_page_token, item.additional_filters
150
  )
151
 
152
 
153
- @app.get("/files/{file_id}")
154
  async def get_file_info(file_id: str):
155
  return await THUNDERX_CLIENT.get_download_url(file_id)
156
 
157
 
158
- @app.post("/offline")
159
  async def offline(item: OfflineRequest):
160
  return await THUNDERX_CLIENT.offline_download(
161
  item.file_url, item.parent_id, item.name
162
  )
163
 
164
 
165
- @app.get("/userinfo")
166
  async def userinfo():
167
  return THUNDERX_CLIENT.get_user_info()
 
 
 
 
 
10
  from typing import Union, Any, Dict, List, Optional
11
  from fastapi import (
12
  FastAPI,
13
+ APIRouter,
14
  Depends,
15
  Request,
16
  Body,
 
71
  async def verify_token(
72
  request: Request, credentials: HTTPAuthorizationCredentials = Depends(security)
73
  ):
74
+ # excluded_paths = ["/"] # 需要排除的路径列表
75
+ # if request.url.path in excluded_paths:
76
+ # return # 直接跳过验证
77
 
78
  # 验证Bearer格式
79
  if credentials.scheme != "Bearer":
 
89
  )
90
 
91
 
92
+ app = FastAPI()
93
  app.add_middleware(
94
  CORSMiddleware,
95
  allow_origins=["*"],
 
98
  allow_headers=["*"],
99
  )
100
 
101
+ api_router = APIRouter(dependencies=[Depends(verify_token)])
102
+ front_router = APIRouter()
103
+
104
  templates = Jinja2Templates(
105
  directory="templates", variable_start_string="{[", variable_end_string="]}"
106
  )
 
142
  )
143
 
144
 
145
+ @front_router.get("/", response_class=HTMLResponse)
146
  async def home(request: Request):
147
  return templates.TemplateResponse("index.html", {"request": request})
148
 
149
 
150
+ @api_router.post("/files")
151
  async def get_files(item: FileRequest):
152
  return await THUNDERX_CLIENT.file_list(
153
  item.size, item.parent_id, item.next_page_token, item.additional_filters
154
  )
155
 
156
 
157
+ @api_router.get("/files/{file_id}")
158
  async def get_file_info(file_id: str):
159
  return await THUNDERX_CLIENT.get_download_url(file_id)
160
 
161
 
162
+ @api_router.post("/offline")
163
  async def offline(item: OfflineRequest):
164
  return await THUNDERX_CLIENT.offline_download(
165
  item.file_url, item.parent_id, item.name
166
  )
167
 
168
 
169
+ @api_router.get("/userinfo")
170
  async def userinfo():
171
  return THUNDERX_CLIENT.get_user_info()
172
+
173
+
174
+ app.include_router(front_router)
175
+ app.include_router(api_router)