UNPKG

fastify-swagger

Version:

Serve Swagger/OpenAPI documentation for Fastify, supporting dynamic generation

92 lines (80 loc) 2.31 kB
<!-- HTML for static distribution bundle build --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Swagger UI</title> <link rel="stylesheet" type="text/css" href="./swagger-ui.css" /> <link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" /> <link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" /> <style> html { box-sizing: border-box; overflow: -moz-scrollbars-vertical; overflow-y: scroll; } *, *:before, *:after { box-sizing: inherit; } body { margin:0; background: #fafafa; } </style> </head> <body> <div id="swagger-ui"></div> <script src="./swagger-ui-bundle.js" charset="UTF-8"> </script> <script src="./swagger-ui-standalone-preset.js" charset="UTF-8"> </script> <script> window.onload = function () { function resolveUrl (url) { const anchor = document.createElement('a') anchor.href = url return anchor.href } function resolveConfig (cb) { return fetch( resolveUrl('./uiConfig').replace('static/uiConfig', 'uiConfig') ) .then(res => res.json()) .then((config) => { const resConfig = Object.assign({}, { dom_id: '#swagger-ui', deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], layout: "StandaloneLayout" }, config, { url: resolveUrl('./json').replace('static/json', 'json'), oauth2RedirectUrl: resolveUrl('./oauth2-redirect.html') }); return cb(resConfig); }) } // Begin Swagger UI call region const buildUi = function (config) { const ui = SwaggerUIBundle(config) window.ui = ui fetch(resolveUrl('./initOAuth').replace('static/initOAuth', 'initOAuth')) .then(res => res.json()) .then((config) => { ui.initOAuth(config); }); } // End Swagger UI call region resolveConfig(buildUi); } </script> </body> </html>