INNER CODE UNIT · Python
api_wishlist
canarybyte/veridrop · web/server.py:239
async def api_wishlist(
email: str = Form(...),
protocol: str = Form(...),
) -> JSONResponse:
email = email.strip()
protocol = protocol.strip().lower()
if protocol not in _VALID_WISHLIST_PROTOCOLS:
raise HTTPException(status_code=400, detail="unsupported protocol")
if not _EMAIL_RE.match(email):
raise HTTPException(status_code=400, detail="email looks invalid")
WISHLIST_PATH.parent.mkdir(parents=True, exist_ok=True)
line = json.dumps(
{"ts": int(time.time()), "protocol": protocol, "email": email},
ensure_ascii=False,
)
with WISHLIST_PATH.open("a", encoding="utf-8") as f:
f.write(line + "\n")