contracts.routes

Page actions AI-ready formats and sharing
Open LLM text
Share with AI
Ask Claude Ask ChatGPT Ask Gemini Ask Copilot

Route helpers for contracts checker.

Route helpers for contracts checker.

contracts.routes

Name Type Default Description
type —
qualified_name —
element_type —
description —
source_file —
line_number —
is_autodoc —
autodoc_element —
_autodoc_template —
_autodoc_url_path —
_autodoc_page_type —
title —
doc_content_hash —

Symbols on this page

_normalize_path
function
def _normalize_path(path: str) -> str

Normalize path for lookup (strip slashes, empty becomes '').

Parameters

Name Type Default Description
path str —
attr_to_method
function
def attr_to_method(attr: str, method_override: str | None = None) -> str

Map a URL-bearing template attribute name to HTTP method.

Parameters

Name Type Default Description
attr str —
method_override str | None None
collect_route_paths
function
def collect_route_paths(router: Router) -> dict[str, frozenset[str]]

Map route path to allowed methods.

Parameters

Name Type Default Description
router Router —
path_matches_route
function
def path_matches_route(url: str, route_path: str) -> bool

Check if URL could match a route pattern.

Parameters

Name Type Default Description
url str —
route_path str —
build_route_index
function
def build_route_index(route_paths: dict[str, frozenset[str]]) -> tuple[dict[str, tuple[str, frozenset[str]]], list[tuple[str, frozenset[str]]]]

Pre-segment routes for O(1) static and O(parametric) URL matching.

Returns (static_routes, parametric_routes). For static URLs use dict lookup; for parametric URLs scan only parametric_routes.

Parameters

Name Type Default Description
route_paths dict[str, frozenset[str]] —
find_matching_route
function
def find_matching_route(url: str, static_routes: dict[str, tuple[str, frozenset[str]]], parametric_routes: list[tuple[str, frozenset[str]]]) -> tuple[str, frozenset[str]] | None

Find route matching URL. O(1) for static, O(parametric) for parametric.

Parameters

Name Type Default Description
url str —
static_routes dict[str, tuple[str, frozenset[str]]] —
parametric_routes list[tuple[str, frozenset[str]]] —

View source · /home/runner/work/chirp/chirp/site/../src/chirp/contracts/routes.py:1