From 7229707746ad139fdfa43317cac1a3f348ba85fc Mon Sep 17 00:00:00 2001 From: grossmj Date: Thu, 19 Dec 2024 17:25:42 +0700 Subject: [PATCH] Use static favicon for API docs. Ref #3674 --- gns3server/api/server.py | 2 ++ gns3server/static/favicon.ico | Bin 0 -> 15086 bytes 2 files changed, 2 insertions(+) create mode 100644 gns3server/static/favicon.ico diff --git a/gns3server/api/server.py b/gns3server/api/server.py index a04787e0..acdda640 100644 --- a/gns3server/api/server.py +++ b/gns3server/api/server.py @@ -104,6 +104,7 @@ async def custom_swagger_ui_html(): oauth2_redirect_url=app.swagger_ui_oauth2_redirect_url, swagger_js_url="/static/swagger-ui-bundle.js", swagger_css_url="/static/swagger-ui.css", + swagger_favicon_url="/static/favicon.ico" ) @app.get(app.swagger_ui_oauth2_redirect_url, include_in_schema=False) @@ -117,6 +118,7 @@ async def redoc_html(): openapi_url=app.openapi_url, title=app.title + " - ReDoc", redoc_js_url="/static/redoc.standalone.js", + redoc_favicon_url="/static/favicon.ico" ) @app.exception_handler(ControllerError) diff --git a/gns3server/static/favicon.ico b/gns3server/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4d4ac85dc67db591955a33432f3ea0fee54429b6 GIT binary patch literal 15086 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