Spaces:
Sleeping
Sleeping
File size: 1,896 Bytes
6f4e5b6 14fd956 d3af375 d32fe66 dce9570 2d9ee5b b916cdf d3af375 b916cdf dce9570 2926b0b c73e7bc 4b5a56f dce9570 2926b0b ff91710 60e2f54 ff91710 60e2f54 ff91710 60e2f54 d07edfe 6720e15 f1cc52c 4082ca9 588277c 4082ca9 290a46f f1cc52c 6720e15 |
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
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"}
|