test-docker / main.py
ZakharZokhar's picture
Update main.py
60e2f54 verified
raw
history blame contribute delete
No virus
1.9 kB
from fastapi import FastAPI, HTTPException, Body, Request, File, UploadFile, BackgroundTasks, Form, Depends, Header
from pydantic import BaseModel
import logging
from fastapi.responses import JSONResponse
from fastapi.templating import Jinja2Templates
from typing import Dict, Any
# Настройка логгера
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
# Создание обработчика для вывода в консоль
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
app = FastAPI()
# Подключаем шаблоны Jinja2
templates = Jinja2Templates(directory="templates")
# Главная страница с текстом "server is running"
@app.get("/")
async def read_root(request: Request):
return templates.TemplateResponse("index.html", {"request": request, "text": "server is running"})
@app.post("/echo")
async def echo_text(json_request: Dict[str, Any], request: Request):
# Декодируем заголовок Authorization, если он в виде байтов
authorization = request.headers.get("Authorization", "")
if authorization.startswith("Bearer "):
token = authorization[7:] # Убираем "Bearer "
else:
token = None
logger.info(f"Request headers: {request.headers}")
logger.info(f"Token: {token}") # Выводим токен как строку
logger.info(f"Request body: {json_request}")
return {"id": 12}
@app.post("/auth")
def echo_text(json_request: Dict[str, Any]):
logger.info(json_request)
if (json_request['accessToken'] == 'your-random-generated-salt'):
return {"session_token": '12'}
return {"message": "unathorized"}