codegen_routes.generate_routes now sanitizes resource identifiers (fetch-requests -> fetch_requests), optionally prepends 'request: Request' (inject_request) and emits <resource>/routes.py packages with __init__.py (package). multipart/form-data and x-www-form-urlencoded bodies expand to per-property UploadFile/File/Form params instead of an opaque dict; spec paths are normalized to forward slashes to avoid Windows escape issues. Adds CLI flags --inject-request/--package, 7 focused tests, and refreshes lib/wiki/MCP docs to the real CLI.
23 lines
2.4 KiB
JSON
23 lines
2.4 KiB
JSON
{
|
|
"module": "openapi_first.errors",
|
|
"content": {
|
|
"path": "openapi_first.errors",
|
|
"docstring": "# Summary\n\nExceptions for OpenAPI-first FastAPI applications.\n\nThis module defines a small hierarchy of explicit, intention-revealing\nexceptions used to signal contract violations between an OpenAPI\nspecification and its Python implementation.\n\nNotes:\n **Design Principles:**\n\n - Errors represent programmer mistakes, not runtime conditions.\n - All errors are raised during application startup.\n - Messages are actionable and suitable for CI/CD output.\n - Exceptions are explicit rather than reused from generic built-ins.\n\n These errors should normally cause immediate application failure.",
|
|
"objects": {
|
|
"OpenAPIFirstError": {
|
|
"name": "OpenAPIFirstError",
|
|
"kind": "class",
|
|
"path": "openapi_first.errors.OpenAPIFirstError",
|
|
"signature": null,
|
|
"docstring": "Base exception for all OpenAPI-first enforcement errors.\n\nNotes:\n **Responsibilities:**\n\n - This exception exists to allow callers, test suites, and CI\n pipelines to catch and distinguish OpenAPI contract violations\n from unrelated runtime errors.\n - All exceptions raised by the OpenAPI-first core should inherit\n from this type."
|
|
},
|
|
"MissingOperationHandler": {
|
|
"name": "MissingOperationHandler",
|
|
"kind": "class",
|
|
"path": "openapi_first.errors.MissingOperationHandler",
|
|
"signature": "MissingOperationHandler(*, path: str, method: str, operation_id: str | None = None)",
|
|
"docstring": "Raised when an OpenAPI operation cannot be resolved to a handler.\n\nArgs:\n path (str):\n The HTTP path declared in the OpenAPI specification.\n method (str):\n The HTTP method (as declared in the OpenAPI spec).\n operation_id (str | None):\n The operationId declared in the OpenAPI spec, if present.\n\nNotes:\n **Scenarios:**\n\n - An OpenAPI operation does not define an `operationId`.\n - An `operationId` is defined but no matching function exists in\n the provided routes module.\n\n **Guarantees:**\n\n - This represents a violation of the OpenAPI-first contract and\n indicates that the specification and implementation are out of\n sync."
|
|
}
|
|
}
|
|
}
|
|
} |