跳至內容

HTTPConnection 類別

當您想要定義與 HTTP 和 WebSocket 相容的依賴項時,您可以定義一個使用 HTTPConnection 作為參數的依賴項,而不是 RequestWebSocket

您可以從 fastapi.requests 導入它

from fastapi.requests import HTTPConnection

fastapi.requests.HTTPConnection

HTTPConnection(scope, receive=None)

基底類別:Mapping[str, Any]

一個用於接收 HTTP 連線的基底類別,用於提供 RequestWebSocket 的共同功能。

參數 說明
scope

類型: Scope

receive

類型: Receive | None 預設值: None

原始碼位於 starlette/requests.py
71
72
73
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)
參數 說明
名稱

類型: str

**path_params

類型: Any 預設值: {}

原始碼位於 starlette/requests.py
177
178
179
180
def url_for(self, name: str, /, **path_params: typing.Any) -> URL:
    router: Router = self.scope["router"]
    url_path = router.url_path_for(name, **path_params)
    return url_path.make_absolute_url(base_url=self.base_url)