import json from starlette.responses import HTMLResponse from fastapi import FastAPI from fastapi.openapi.docs import get_redoc_html, swagger_ui_default_parameters from fastapi.encoders import jsonable_encoder def get_swagger_ui_html(*, openapi_url: str, title: str, swagger_js_url: str = "https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js", swagger_css_url: str = "https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css", swagger_extra_css_url: str | None = None, swagger_favicon_url: str = "https://fastapi.tiangolo.com/img/favicon.png", oauth2_redirect_url: str | None = None, init_oauth: dict | None = None, swagger_ui_parameters: dict | None = None, ) -> HTMLResponse: current_swagger_ui_parameters = swagger_ui_default_parameters.copy() if swagger_ui_parameters: current_swagger_ui_parameters.update(swagger_ui_parameters) html = f"""