Tengo un servidor API HTTP simple
from typing import Dict import uvicorn from fastapi import FastAPI app = FastAPI() @app.post("/data/{uid}") def data_post(uid: str, data: Dict): print(f"recieved data for {uid}: {data}") if __name__ == "__main__": uvicorn.run(app) Actualmente lo estoy ejecutando con uvicorn pero esto no es un requisito (otros servidores ASGI también podrían funcionar)
Mi problema es que los clientes que llaman a esta API usan HTTP 1.0 pero el servidor responde con HTTP 1.1
curl -v --http1.0 -H "Content-Type: application/json" -d '{"a": 123, "b":"test"}' localhost:8000/data/123abc * Trying 127.0.0.1:8000... * Connected to localhost (127.0.0.1) port 8000 (#0) > POST /data/123abc HTTP/1.0 > Host: localhost:8000 > User-Agent: curl/7.77.0 > Accept: */* > Content-Type: application/json > Content-Length: 22 > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < date: Mon, 24 Jan 2022 13:43:12 GMT < server: uvicorn < content-length: 4 < content-type: application/json < Connection: close < * Closing connection 0Me gustaría saber si hay una forma de configurar uvicorn para usar HTTP 1.0 o si hay otro servidor ASGI que se pueda usar con aplicaciones FastAPI que puedan lograr esto.
Desafortunadamente no puedo cambiar los clientes (son un producto de terceros) y actualmente no soportan HTTP 1.1.