Spaces:
Paused
Paused
Commit
•
75141de
1
Parent(s):
0724f28
Fix typo in Access-Control-Allow-Headers header
Browse files
main.py
CHANGED
@@ -13,6 +13,9 @@ from huggingface_hub import CommitScheduler, HfApi, whoami
|
|
13 |
from huggingface_hub.utils._errors import HTTPError
|
14 |
from pydantic import BaseModel, Field
|
15 |
from starlette.responses import RedirectResponse
|
|
|
|
|
|
|
16 |
|
17 |
load_dotenv()
|
18 |
|
@@ -75,11 +78,20 @@ class Vote(BaseModel):
|
|
75 |
userID: str
|
76 |
|
77 |
|
|
|
|
|
|
|
|
|
78 |
@app.post("/vote")
|
79 |
async def receive_vote(
|
80 |
vote: Vote,
|
|
|
81 |
background_tasks: BackgroundTasks,
|
82 |
):
|
|
|
|
|
|
|
|
|
83 |
vote_entry = {
|
84 |
"dataset": vote.dataset,
|
85 |
"vote": vote.vote,
|
@@ -94,5 +106,5 @@ async def receive_vote(
|
|
94 |
"Access-Control-Allow-Origin"
|
95 |
] = "chrome-extension://ogbhjlfpmjgjbjoiffagjogbhgaipopf" # TODO Replace with your Chrome plugin ID
|
96 |
response.headers["Access-Control-Allow-Methods"] = "POST"
|
97 |
-
response.headers["Access-
|
98 |
return response
|
|
|
13 |
from huggingface_hub.utils._errors import HTTPError
|
14 |
from pydantic import BaseModel, Field
|
15 |
from starlette.responses import RedirectResponse
|
16 |
+
from typing import Annotated
|
17 |
+
|
18 |
+
from fastapi import FastAPI, Header
|
19 |
|
20 |
load_dotenv()
|
21 |
|
|
|
78 |
userID: str
|
79 |
|
80 |
|
81 |
+
def validate_token(token: str = Header(None)):
|
82 |
+
return token == "ABCD"
|
83 |
+
|
84 |
+
|
85 |
@app.post("/vote")
|
86 |
async def receive_vote(
|
87 |
vote: Vote,
|
88 |
+
Authorization: Annotated[str, Header()],
|
89 |
background_tasks: BackgroundTasks,
|
90 |
):
|
91 |
+
print(f"Received vote: {vote}")
|
92 |
+
print(Authorization)
|
93 |
+
if not validate_token(Authorization):
|
94 |
+
return JSONResponse(status_code=401, content={"message": "Invalid token"})
|
95 |
vote_entry = {
|
96 |
"dataset": vote.dataset,
|
97 |
"vote": vote.vote,
|
|
|
106 |
"Access-Control-Allow-Origin"
|
107 |
] = "chrome-extension://ogbhjlfpmjgjbjoiffagjogbhgaipopf" # TODO Replace with your Chrome plugin ID
|
108 |
response.headers["Access-Control-Allow-Methods"] = "POST"
|
109 |
+
response.headers["Access-Contr`ol-Allow-Headers"] = "*"
|
110 |
return response
|