Spaces:
Sleeping
Sleeping
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" | |
async def read_root(request: Request): | |
return templates.TemplateResponse("index.html", {"request": request, "text": "server is running"}) | |
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} | |
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"} | |