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"}