Spaces:
Runtime error
Runtime error
File size: 1,237 Bytes
dfae564 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# import main things
from fastapi import Depends, FastAPI, Body
from fastapi.responses import JSONResponse, HTMLResponse
from uvicorn import run
from utils import predict
from fastapi_limiter import FastAPILimiter
from fastapi_limiter.depends import RateLimiter
import redis.asyncio as aioredis
# initing things
app = FastAPI()
@app.on_event("startup")
async def startup():
redis = aioredis.from_url("redis://localhost", encoding="utf-8", decode_responses=True)
await FastAPILimiter.init(redis)
@app.get("/", dependencies=[Depends(RateLimiter(times=5, minutes=1))])
@app.post("/", dependencies=[Depends(RateLimiter(times=5, minutes=1))])
async def root():
return JSONResponse({"detail":"Not Found"}, 404)
@app.get("/amino-captcha-ocr/api/v1/autoregister/version")
async def v(): return {"v": 4, "l": ""}
@app.get("/amino-captcha-ocr/api/v1/predict", dependencies=[Depends(RateLimiter(times=5, minutes=1))])
async def resolveGet():
return JSONResponse({"detail":"Use POST instead GET"}, 400)
@app.post("/amino-captcha-ocr/api/v1/predict", dependencies=[Depends(RateLimiter(times=5, minutes=1))])
async def resolvePost(data = Body()):
return await predict(data["url"])
run(app, host="0.0.0.0", port=80)
|