コンテンツへスキップ

HTTPConnection クラス

HTTPとWebSocketの両方と互換性があるべき依存関係を定義したい場合、RequestWebSocketの代わりにHTTPConnectionを受け取るパラメータを定義できます。

fastapi.requests からインポートできます。

from fastapi.requests import HTTPConnection

fastapi.requests.HTTPConnection

HTTPConnection(scope, receive=None)

Bases: Mapping[str, Any]

受信 HTTP 接続の基底クラスで、RequestWebSocket の両方に共通する機能を提供するために使用されます。

starlette/requests.py内のソースコード
77
78
79
def __init__(self, scope: Scope, receive: Receive | None = None) -> None:
    assert scope["type"] in ("http", "websocket")
    self.scope = scope

scope インスタンス属性

scope = scope

app プロパティ

app

url プロパティ

url

base_url プロパティ

base_url

headers プロパティ

headers

query_params プロパティ

query_params

path_params プロパティ

path_params

cookies プロパティ

cookies

client プロパティ

client

session プロパティ

session

auth プロパティ

auth

user プロパティ

user

state プロパティ

state

url_for

url_for(name, /, **path_params)
starlette/requests.py内のソースコード
183
184
185
186
187
188
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)