MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / build_swagger_ui_html

Function build_swagger_ui_html

ra-rpc/src/openapi.rs:997–1067  ·  view source on GitHub ↗
(spec_url: &str, cfg: &SwaggerUiConfig)

Source from the content-addressed store, hash-verified

995}
996
997fn build_swagger_ui_html(spec_url: &str, cfg: &SwaggerUiConfig) -> String {
998 let spec = spec_url.replace('\'', "\\'");
999 let css = format!(
1000 "{}/swagger-ui.css",
1001 cfg.swagger_ui_dist.trim_end_matches('/')
1002 );
1003 let bundle = format!(
1004 "{}/swagger-ui-bundle.js",
1005 cfg.swagger_ui_dist.trim_end_matches('/')
1006 );
1007 let preset = format!(
1008 "{}/swagger-ui-standalone-preset.js",
1009 cfg.swagger_ui_dist.trim_end_matches('/')
1010 );
1011 let background = if cfg.dark_mode { "#0b0d10" } else { "#fafafa" };
1012 format!(
1013 r#"<!DOCTYPE html>
1014<html lang="en">
1015<head>
1016 <meta charset="utf-8" />
1017 <title>{title}</title>
1018 <link rel="stylesheet" href="{css}" />
1019 <style>
1020 body {{
1021 margin: 0;
1022 background-color: {background};
1023 }}
1024 .swagger-ui .topbar {{
1025 display: none;
1026 }}
1027 </style>
1028</head>
1029<body>
1030 <div id="swagger-ui"></div>
1031 <script src="{bundle}"></script>
1032 <script src="{preset}"></script>
1033 <script>
1034 window.onload = () => {{
1035 window.ui = SwaggerUIBundle({{
1036 url: '{spec}',
1037 dom_id: '#swagger-ui',
1038 deepLinking: true,
1039 presets: [
1040 SwaggerUIBundle.presets.apis,
1041 SwaggerUIStandalonePreset
1042 ],
1043 layout: "BaseLayout",
1044 requestInterceptor: (req) => {{
1045 const method = (req.method || '').toUpperCase();
1046 if (method === 'POST') {{
1047 req.headers = req.headers || {{}};
1048 if (!req.headers['Content-Type'] && !req.headers['content-type']) {{
1049 req.headers['Content-Type'] = 'application/json';
1050 }}
1051 }}
1052 return req;
1053 }}
1054 }});

Callers 1

renderMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected