Path

モジュール概要

Routing and static file serving.

チュートリアル

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

from nexom.app.path import Get, Router
from nexom.app.response import HtmlResponse

def top(request, args):
    return HtmlResponse('<h1>Top</h1>')

def docs(request, args):
    page = args.get('page')
    return HtmlResponse(f'<h1>{page}</h1>')

routing = Router(
    Get('', top, 'Top'),
    Get('documents/{page}', docs, 'Docs'),
)

運用チェックリスト

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

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

クラス

Path

分類: public class

Represents a route with optional path arguments and its handler.

Path の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, path: str, handler: Handler, name: str, *, methods: set[str] | None = None)
使い方と仕様

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

引数
  • path / kind=positional-or-keyword / type=str / 必須 / default=なし
  • handler / kind=positional-or-keyword / type=Handler / 必須 / default=なし
  • name / kind=positional-or-keyword / type=str / 必須 / default=なし
  • methods / kind=keyword-only / type=set[str] | None / 任意 / default=None
戻り値

型指定なし

例外・注意点

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

利用例
from nexom.app.path import Path

obj = Path(path="sample", handler=..., name="sample", methods=None)
_read_args

分類: internal method

シグネチャ
_read_args(self, request_path: str) -> dict[str, Optional[str] | list[str]]
使い方と仕様

Build args for this request (no shared state).

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

dict[str, Optional[str] | list[str]]

例外・注意点

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

利用例
from nexom.app.path import Path

obj = Path(...)
result = obj._read_args(request_path="sample")
print(result)
match

分類: public method

シグネチャ
match(self, request_path: str) -> tuple[bool, int]
使い方と仕様

Return whether request_path matches this path and static match count.

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

tuple[bool, int]

例外・注意点

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

利用例
from nexom.app.path import Path

obj = Path(...)
result = obj.match(request_path="sample")
print(result)
call_handler

分類: public method

シグネチャ
call_handler(self, request: Request, middlewares: tuple[Middleware, ...] = ()) -> Response
使い方と仕様

Execute the handler (and middlewares) and normalize the result.

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • middlewares / kind=positional-or-keyword / type=tuple[Middleware, ...] / 任意 / default=()
戻り値

Response

例外・注意点

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

利用例
from nexom.app.path import Path

obj = Path(...)
result = obj.call_handler(request=..., middlewares=())
print(result)

Get

分類: public class

GET-only route.

Get の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, path: str, handler: Handler, name: str)
使い方と仕様

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

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

型指定なし

例外・注意点

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

利用例
from nexom.app.path import Get

obj = Get(path="sample", handler=..., name="sample")

Post

分類: public class

POST-only route (plus OPTIONS for preflight).

Post の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, path: str, handler: Handler, name: str)
使い方と仕様

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

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

型指定なし

例外・注意点

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

利用例
from nexom.app.path import Post

obj = Post(path="sample", handler=..., name="sample")

Static

分類: public class

Represents a static file route.

Static の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, path: str, static_directory: str, name: str) -> None
使い方と仕様

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

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

None

例外・注意点

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

利用例
from nexom.app.path import Static

obj = Static(path="sample", static_directory="sample", name="sample")
_access

分類: internal method

シグネチャ
_access(self, request: Request, args: dict[str, Optional[str] | list[str]]) -> Response
使い方と仕様

Serve a static file from the configured root.

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

Response

例外・注意点

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

利用例
from nexom.app.path import Static

obj = Static(...)
result = obj._access(request=..., args="sample")
print(result)

Router

分類: public class

Collection of Path objects with middleware support.

Router の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, *paths: Path) -> None
使い方と仕様

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

引数
  • paths / kind=variadic-positional(*args) / type=Path / 必須 / default=なし
戻り値

None

例外・注意点

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

利用例
from nexom.app.path import Router

obj = Router()
_check

分類: internal method

シグネチャ
_check(self, arg: object) -> None
使い方と仕様

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

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

None

例外・注意点

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

利用例
from nexom.app.path import Router

obj = Router(...)
result = obj._check(arg=...)
print(result)
add_middleware

分類: public method

シグネチャ
add_middleware(self, *middlewares: Middleware) -> None
使い方と仕様

Register middleware(s) for this router.

引数
  • middlewares / kind=variadic-positional(*args) / type=Middleware / 必須 / default=なし
戻り値

None

例外・注意点

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

利用例
from nexom.app.path import Router

obj = Router(...)
result = obj.add_middleware()
print(result)
get

分類: public method

シグネチャ
get(self, request_path: str, *, method: str | None = None) -> Path | None
使い方と仕様

Resolve a Path for a request path and method. Returns None if not found and raise_if_not_exist is False.

引数
  • request_path / kind=positional-or-keyword / type=str / 必須 / default=なし
  • method / kind=keyword-only / type=str | None / 任意 / default=None
戻り値

Path | None

例外・注意点

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

利用例
from nexom.app.path import Router

obj = Router(...)
result = obj.get(request_path="sample", method=None)
print(result)
handle

分類: public method

シグネチャ
handle(self, request: Request) -> Response
使い方と仕様

Resolve and execute a route for the given request.

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

Response

例外・注意点

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

利用例
from nexom.app.path import Router

obj = Router(...)
result = obj.handle(request=...)
print(result)

ソース情報

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