KingHacker9000 commited on
Commit
a4ae355
·
1 Parent(s): 4b9df52

Pass Token Reliably

Browse files
Files changed (3) hide show
  1. .gitignore +1 -0
  2. rest_api.py +5 -0
  3. wai_service.py +2 -1
.gitignore CHANGED
@@ -1,3 +1,4 @@
 
1
  TOKEN
2
  WriteToken
3
  diffvg/
 
1
+ client.sh
2
  TOKEN
3
  WriteToken
4
  diffvg/
rest_api.py CHANGED
@@ -3,6 +3,7 @@ from pydantic import BaseModel
3
  from concurrent.futures import ThreadPoolExecutor
4
  import uuid, time
5
  import wai_service
 
6
 
7
  app = FastAPI()
8
 
@@ -14,6 +15,7 @@ class InferenceRequest(BaseModel):
14
  optimized_letter: str
15
  font: str = "KaushanScript-Regular"
16
  seed: int = 0
 
17
 
18
  class Config:
19
  extra = "allow"
@@ -21,6 +23,9 @@ class InferenceRequest(BaseModel):
21
  @app.post("/generate")
22
  def enqueue(req: InferenceRequest):
23
  """Start a job and return its UUID immediately."""
 
 
 
24
  job_id = str(uuid.uuid4())
25
  fut = EXEC.submit(wai_service.handler, dict(req.__dict__))
26
  JOBS[job_id] = (time.time(), fut)
 
3
  from concurrent.futures import ThreadPoolExecutor
4
  import uuid, time
5
  import wai_service
6
+ from typing import Optional
7
 
8
  app = FastAPI()
9
 
 
15
  optimized_letter: str
16
  font: str = "KaushanScript-Regular"
17
  seed: int = 0
18
+ token: Optional[str] = None
19
 
20
  class Config:
21
  extra = "allow"
 
23
  @app.post("/generate")
24
  def enqueue(req: InferenceRequest):
25
  """Start a job and return its UUID immediately."""
26
+ if req.token is None:
27
+ raise HTTPException(422, "field 'token' is required")
28
+ payload = req.dict(exclude_none=True)
29
  job_id = str(uuid.uuid4())
30
  fut = EXEC.submit(wai_service.handler, dict(req.__dict__))
31
  JOBS[job_id] = (time.time(), fut)
wai_service.py CHANGED
@@ -40,7 +40,8 @@ def _sanitize(cfg):
40
 
41
 
42
  def handler(payload: dict) -> str:
43
-
 
44
  init_dir = os.path.join("code", "data", "init")
45
  if not os.path.isdir(init_dir):
46
  os.makedirs(init_dir, exist_ok=True)
 
40
 
41
 
42
  def handler(payload: dict) -> str:
43
+ logging.info("handler received job (word=%s, has_token=%s)",
44
+ payload.get("word"), "token" in payload)
45
  init_dir = os.path.join("code", "data", "init")
46
  if not os.path.isdir(init_dir):
47
  os.makedirs(init_dir, exist_ok=True)