linkedin/main.py

33 lines
1018 B
Python
Raw Permalink Normal View History

2025-01-25 16:45:18 +02:00
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
2025-01-22 20:10:15 +02:00
import logging
2025-01-25 16:45:18 +02:00
from routers import profile, jobs
2025-01-22 20:10:15 +02:00
2025-01-22 21:54:19 +02:00
2025-01-25 16:45:18 +02:00
# Инициализация приложения
2025-01-22 20:10:15 +02:00
2025-01-22 22:53:34 +02:00
app = FastAPI(
title="linkedin API",
description="API с linkedin получаем данные по URL",
2025-01-25 16:45:18 +02:00
version="1.0.0")
2025-01-22 20:10:15 +02:00
2025-01-25 16:45:18 +02:00
# Подключение роутеров
app.include_router(profile.router, tags=["Profile"])
app.include_router(jobs.router, tags=["Jobs"])
2025-01-22 20:10:15 +02:00
2025-01-25 16:45:18 +02:00
# Проверка состояния сервера
@app.get("/", tags=["Check"])
async def check():
return {"status": "ok"}
2025-01-22 20:10:15 +02:00
2025-01-25 16:45:18 +02:00
# Глобальный middleware для обработки необработанных исключений
@app.middleware("http")
async def catch_exceptions_middleware(request: Request, call_next):
try:
return await call_next(request)
except Exception as e:
logging.error(f"Unhandled exception: {str(e)}")
return JSONResponse(content={"error": "Internal Server Error"}, status_code=500)