MikePGxAI commited on
Commit
11fad67
·
verified ·
1 Parent(s): 464eed6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -2
app.py CHANGED
@@ -1,9 +1,11 @@
1
  import os
2
  import tempfile
3
- from fastapi import FastAPI, UploadFile, File
4
  from fastapi.middleware.cors import CORSMiddleware
5
  from openai import OpenAI
6
 
 
 
7
  app = FastAPI()
8
 
9
  app.add_middleware(
@@ -16,11 +18,29 @@ app.add_middleware(
16
  client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
17
 
18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  @app.post("/v1/stt")
20
  async def stt(
21
  audio: UploadFile = File(...),
22
- metadata: str | None = None
 
23
  ):
 
 
24
  with tempfile.NamedTemporaryFile(suffix=".m4a") as tmp:
25
  tmp.write(await audio.read())
26
  tmp.flush()
 
1
  import os
2
  import tempfile
3
+ from fastapi import FastAPI, UploadFile, File, Header, HTTPException
4
  from fastapi.middleware.cors import CORSMiddleware
5
  from openai import OpenAI
6
 
7
+ APP_SHARED_SECRET = os.environ.get("APP_SHARED_SECRET", "")
8
+
9
  app = FastAPI()
10
 
11
  app.add_middleware(
 
18
  client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
19
 
20
 
21
+ def require_secret(x_app_secret: str | None) -> None:
22
+ if APP_SHARED_SECRET and x_app_secret != APP_SHARED_SECRET:
23
+ raise HTTPException(status_code=401, detail="Unauthorized")
24
+
25
+
26
+ @app.post("/v1/session")
27
+ async def session(x_app_secret: str | None = Header(default=None)):
28
+ require_secret(x_app_secret)
29
+ return {
30
+ "token": "hf-dev",
31
+ "expiresAt": None,
32
+ "requestId": None
33
+ }
34
+
35
+
36
  @app.post("/v1/stt")
37
  async def stt(
38
  audio: UploadFile = File(...),
39
+ metadata: str | None = None,
40
+ x_app_secret: str | None = Header(default=None)
41
  ):
42
+ require_secret(x_app_secret)
43
+
44
  with tempfile.NamedTemporaryFile(suffix=".m4a") as tmp:
45
  tmp.write(await audio.read())
46
  tmp.flush()