queues/main.py
emmatveev 2bd7f7ea81
All checks were successful
Deploy Dev / Build (pull_request) Successful in 4s
Deploy Dev / Push (pull_request) Successful in 7s
Deploy Dev / Deploy dev (pull_request) Successful in 6s
up
2024-11-17 02:36:46 +03:00

37 lines
821 B
Python

import fastapi
import uvicorn
import os
from app.routers import take
from app.routers import put
from app.routers import finish
from app.storage import mongo
from fastapi import responses
QUEUES_TOKEN = os.getenv('QUEUES_TOKEN')
app = fastapi.FastAPI()
@app.middleware('http')
async def check_token(request: fastapi.Request, call_next):
if QUEUES_TOKEN:
token = request.headers.get('X-Queues-Token')
if not token or token != QUEUES_TOKEN:
return responses.JSONResponse(status_code=403, content={'message': 'token is not provided or incorrect'})
return await call_next(request)
app.include_router(take.router)
app.include_router(put.router)
app.include_router(finish.router)
mongo.create_indexes()
if __name__ == '__main__':
uvicorn.run(app, host="0.0.0.0", port=1238)