/
githubmirror
/
dev-gpt
Обзор
Документация
Войти
/
githubmirror
/
dev-gpt
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v0.1.5
src/server.py
54 строки
1 KB
Florian Hönicke
refactor: cleanup
04 апр 2023, 15:02
04 апр 2023, 15:02
de5f9cc
Код
Авторство
О чём код?
from fastapi import FastAPI from fastapi.exceptions import RequestValidationError from jina import Flow from pydantic import BaseModel, HttpUrl from typing import Optional, Dict from starlette.middleware.cors import CORSMiddleware from starlette.requests import Request from starlette.responses import JSONResponse from main import main app = FastAPI() # Define the request model class CreateRequest(BaseModel): test_scenario: str executor_description: str # Define the response model class CreateResponse(BaseModel): result: Dict[str, str] success: bool message: Optional[str] @app.post("/create", response_model=CreateResponse) def create_endpoint(request: CreateRequest): result = main( executor_description=request.executor_description, test_scenario=request.test_scenario, ) return CreateResponse(result=result, success=True, message=None) app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Add a custom exception handler for RequestValidationError @app.exception_handler(RequestValidationError) def validation_exception_handler(request: Request, exc: RequestValidationError): return JSONResponse( status_code=422, content={"detail": exc.errors()}, ) if __name__ == "__main__": import uvicorn uvicorn.run("server:app", host="0.0.0.0", port=8000, log_level="info")