Saltar al contenido

HTTPConnection clase

Cuando quieres definir dependencias que deberían ser compatibles tanto con HTTP como con WebSockets, puedes definir un parámetro que tome un HTTPConnection en lugar de un Request o un WebSocket.

Puedes importarlo desde fastapi.requests:

from fastapi.requests import HTTPConnection

fastapi.requests.HTTPConnection

HTTPConnection(scope, receive=None)

Hereda de: Mapping[str, Any], Generic[StateT]

Una clase base para conexiones HTTP entrantes, que es usada para proporcionar cualquier funcionalidad que sea común tanto a Request como a WebSocket.

Código fuente en starlette/requests.py
def __init__(self, scope: Scope, receive: Receive | None = None) -> None:
    assert scope["type"] in ("http", "websocket")
    self.scope = scope

scope instance-attribute

scope = scope

app property

app

url property

url

base_url property

base_url

headers property

headers

query_params property

query_params

path_params property

path_params

cookies property

cookies

client property

client

session property

session

auth property

auth

user property

user

state property

state

url_for

url_for(name, /, **path_params)
Código fuente en starlette/requests.py
def url_for(self, name: str, /, **path_params: Any) -> URL:
    url_path_provider: Router | Starlette | None = self.scope.get("router") or self.scope.get("app")
    if url_path_provider is None:
        raise RuntimeError("The `url_for` method can only be used inside a Starlette application or with a router.")
    url_path = url_path_provider.url_path_for(name, **path_params)
    return url_path.make_absolute_url(base_url=self.base_url)