Middleware

モジュール概要

Middleware interfaces and built-ins.

チュートリアル

最初に以下の最小例でモジュール利用方法を確認し、その後 API リファレンスを参照してください。

from nexom.app.middleware import *

# このモジュールの関数・クラスを用途に合わせて呼び出します。
# 下の API リファレンスで各関数の引数と使い方を確認してください。

運用チェックリスト

  • 本番では例外処理を必ず実装し、戻り値の型を固定してください。
  • 引数のデフォルト値と必須/任意を仕様書としてチーム内で固定してください。
  • ログと監視を追加し、エラー時の復旧手順を運用Runbookに記載してください。

API リファレンス(全関数・全メソッド)

クラス

Middleware

分類: public class

Middleware interface. A middleware receives the request, route args, and next handler. It must return a Response.

Middleware の全メソッド

__call__

分類: special method

シグネチャ
__call__(self, request: Request, args: dict[str, str | None], next_: Handler) -> Response
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, str | None] / 必須 / default=なし
  • next_ / kind=positional-or-keyword / type=Handler / 必須 / default=なし
戻り値

Response

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.middleware import Middleware

obj = Middleware(...)
result = obj.__call__(request=..., args="sample", next_=...)
print(result)

MiddlewareChain

分類: public class

Build and execute a middleware chain.

MiddlewareChain の全メソッド

wrap

分類: public method

シグネチャ
wrap(self, handler: Handler) -> Handler
使い方と仕様

Wrap the given handler with middlewares (outer -> inner).

引数
  • handler / kind=positional-or-keyword / type=Handler / 必須 / default=なし
戻り値

Handler

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.middleware import MiddlewareChain

obj = MiddlewareChain(...)
result = obj.wrap(handler=...)
print(result)

CORSMiddleware

分類: public class

Simple CORS middleware. Supports preflight OPTIONS and basic allow headers.

CORSMiddleware の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, allowed_origins: list[str] | None = None, allowed_methods: list[str] | None = None, allowed_headers: list[str] | None = None, access_control_allow_credentials: bool = False, max_age: int | None = 600) -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • allowed_origins / kind=positional-or-keyword / type=list[str] | None / 任意 / default=None
  • allowed_methods / kind=positional-or-keyword / type=list[str] | None / 任意 / default=None
  • allowed_headers / kind=positional-or-keyword / type=list[str] | None / 任意 / default=None
  • access_control_allow_credentials / kind=positional-or-keyword / type=bool / 任意 / default=False
  • max_age / kind=positional-or-keyword / type=int | None / 任意 / default=600
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.middleware import CORSMiddleware

obj = CORSMiddleware(allowed_origins=None, allowed_methods=None, allowed_headers=None, access_control_allow_credentials=False, max_age=600)
_is_allowed_origin

分類: internal method

シグネチャ
_is_allowed_origin(self, origin: str) -> bool
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • origin / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

bool

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.middleware import CORSMiddleware

obj = CORSMiddleware(...)
result = obj._is_allowed_origin(origin="sample")
print(result)
_append_vary_origin

分類: internal method

シグネチャ
_append_vary_origin(self, res: Response) -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • res / kind=positional-or-keyword / type=Response / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.middleware import CORSMiddleware

obj = CORSMiddleware(...)
result = obj._append_vary_origin(res=...)
print(result)
__call__

分類: special method

シグネチャ
__call__(self, request: Request, args: dict[str, str | None], next_: Handler) -> Response
使い方と仕様

Apply CORS headers and handle preflight requests.

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, str | None] / 必須 / default=なし
  • next_ / kind=positional-or-keyword / type=Handler / 必須 / default=なし
戻り値

Response

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.middleware import CORSMiddleware

obj = CORSMiddleware(...)
result = obj.__call__(request=..., args="sample", next_=...)
print(result)

ソース情報

  • module: nexom.app.middleware
  • source file: services/venv/lib/python3.10/site-packages/nexom/app/middleware.py
  • generated date: 2026-03-14