(request: Request)
| 24 | responses=ERROR_RESPONSES, |
| 25 | ) |
| 26 | def get_info(request: Request) -> InfoResponse: |
| 27 | config = request.app.state.config |
| 28 | |
| 29 | @functools.lru_cache(maxsize=1) |
| 30 | def _generate_info_response() -> BaseInfoResource: |
| 31 | """Cached closure that generates the info response for the implementation.""" |
| 32 | |
| 33 | return BaseInfoResource( |
| 34 | id=BaseInfoResource.model_fields["id"].default, |
| 35 | type=BaseInfoResource.model_fields["type"].default, |
| 36 | attributes=BaseInfoAttributes( |
| 37 | api_version=__api_version__, |
| 38 | available_api_versions=[ |
| 39 | { |
| 40 | "url": f"{get_base_url(config, request.url)}/v{__api_version__.split('.')[0]}", |
| 41 | "version": __api_version__, |
| 42 | } |
| 43 | ], |
| 44 | formats=["json"], |
| 45 | available_endpoints=["info", "links"] + list(ENTRY_INFO_SCHEMAS.keys()), |
| 46 | entry_types_by_format={"json": list(ENTRY_INFO_SCHEMAS.keys())}, |
| 47 | is_index=False, |
| 48 | license=Link(href=config.license) if config.license else None, |
| 49 | available_licenses=[str(config.license).split("/")[-1]] |
| 50 | if "https://spdx.org" in str(config.license) |
| 51 | else None, |
| 52 | ), |
| 53 | ) |
| 54 | |
| 55 | return InfoResponse( |
| 56 | meta=meta_values( |
| 57 | config, |
| 58 | request.url, |
| 59 | 1, |
| 60 | 1, |
| 61 | more_data_available=False, |
| 62 | schema=config.schema_url, |
| 63 | ), |
| 64 | data=_generate_info_response(), |
| 65 | ) |
| 66 | |
| 67 | |
| 68 | @router.get( |
nothing calls this directly
no test coverage detected