pointsecio.middleware.swagger_ui¶
Module Contents¶
Classes¶
Helper class that provides a standard way to create an ABC using |
|
Base API class with only minimal behavior related to the specification. |
Attributes¶
- pointsecio.middleware.swagger_ui.logger¶
- class pointsecio.middleware.swagger_ui.SwaggerUIMiddleware(app: starlette.types.ASGIApp)¶
Bases:
pointsecio.middleware.base.AppMiddlewareHelper class that provides a standard way to create an ABC using inheritance.
Middleware that hosts a swagger UI.
- Parameters
app – app to wrap in middleware.
- __slots__ = []¶
- add_api(self, specification: Union[pathlib.Path, str, dict], base_path: Optional[str] = None, arguments: Optional[dict] = None, **kwargs) None¶
Add an API to the router based on a OpenAPI spec.
- Parameters
specification – OpenAPI spec as dict or path to file.
base_path – Base path where to add this API.
arguments – Jinja arguments to replace in the spec.
- async __call__(self, scope: starlette.types.Scope, receive: starlette.types.Receive, send: starlette.types.Send) None¶
- async default_fn(self, _scope: starlette.types.Scope, receive: starlette.types.Receive, send: starlette.types.Send) None¶
Callback to call next app as default when no matching route is found.
Unfortunately we cannot just pass the next app as default, since the router manipulates the scope when descending into mounts, losing information about the base path. Therefore, we use the original scope instead.
This is caused by https://github.com/encode/starlette/issues/1336.
- class pointsecio.middleware.swagger_ui.SwaggerUIAPI(*args, default: starlette.types.ASGIApp, **kwargs)¶
Bases:
pointsecio.apis.AbstractSwaggerUIAPIBase API class with only minimal behavior related to the specification.
- static normalize_string(string)¶
- add_openapi_json(self)¶
Adds openapi json to {base_path}/openapi.json (or {base_path}/swagger.json for swagger2)
- add_openapi_yaml(self)¶
Adds openapi json to {base_path}/openapi.json (or {base_path}/swagger.json for swagger2)
- add_swagger_ui(self)¶
Adds swagger ui to {base_path}/ui/