crabbly commited on
Commit
fbd7b3e
·
verified ·
1 Parent(s): d3e39e9

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +15 -4
main.py CHANGED
@@ -15,6 +15,7 @@ from fastapi import FastAPI, UploadFile, File, Query
15
  from fastapi.middleware.cors import CORSMiddleware
16
  import uvicorn
17
  from skimage import color
 
18
 
19
  # OOM PREVENTION
20
  torch.set_num_threads(1)
@@ -619,13 +620,23 @@ app.add_middleware(
619
  processor = WatermelonProcessor(MODEL_PATH)
620
 
621
  @app.get("/")
622
- def read_root(): return {"status": "Watermelon API is awake and running!"}
623
 
624
  @app.post("/process_single")
625
- async def process_single(file: UploadFile = File(...), include_image: bool = Query(True), apply_smoothing: bool = Query(True)):
 
 
 
 
 
626
  request_t = time.perf_counter()
627
- contents = None
628
- img = None
 
 
 
 
 
629
 
630
  try:
631
  contents = await file.read()
 
15
  from fastapi.middleware.cors import CORSMiddleware
16
  import uvicorn
17
  from skimage import color
18
+ import hashlib
19
 
20
  # OOM PREVENTION
21
  torch.set_num_threads(1)
 
620
  processor = WatermelonProcessor(MODEL_PATH)
621
 
622
  @app.get("/")
623
+ def read_root(): return {"status": "Phenotyping API is awake and running!"}
624
 
625
  @app.post("/process_single")
626
+ async def process_single(
627
+ file: UploadFile = File(...),
628
+ include_image: bool = Query(True),
629
+ apply_smoothing: bool = Query(True),
630
+ password: str = Form("")
631
+ ):
632
  request_t = time.perf_counter()
633
+
634
+ # --- SECURE PASSWORD CHECK ---
635
+ expected_hash = "9139eb3676d5dfafced7613f044d86d9e7c84f40a04c83ddce062878621315d0"
636
+ if hashlib.sha256(password.encode('utf-8')).hexdigest() != expected_hash:
637
+ return ProcessResult(success=False, message="Unauthorized: Incorrect password.", filename=file.filename, processing_ms=int(round((time.perf_counter() - request_t) * 1000))).__dict__
638
+
639
+ contents, img = None, None
640
 
641
  try:
642
  contents = await file.read()