120 lines
3.9 KiB
HTML
120 lines
3.9 KiB
HTML
<!-- HTML for static distribution bundle build -->
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>SWAD.API Reference</title>
|
|
<link href="./swagger-ui.css" rel="stylesheet" type="text/css">
|
|
<link href="./favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
|
|
<link href="./favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
|
|
<style>
|
|
|
|
html {
|
|
box-sizing: border-box;
|
|
overflow: -moz-scrollbars-vertical;
|
|
overflow-y: scroll;
|
|
}
|
|
|
|
*,
|
|
*:before,
|
|
*:after {
|
|
box-sizing: inherit;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
background: #fafafa;
|
|
}
|
|
</style>
|
|
%(HeadContent)
|
|
</head>
|
|
|
|
<body>
|
|
<div id="swagger-ui"></div>
|
|
|
|
<!-- Workaround for https://github.com/swagger-api/swagger-editor/issues/1371 -->
|
|
<script>
|
|
console.log("Swagger loaded!");
|
|
if (window.navigator.userAgent.indexOf("Edge") > -1) {
|
|
console.log("Removing native Edge fetch in favor of swagger-ui's polyfill")
|
|
window.fetch = undefined;
|
|
}
|
|
</script>
|
|
|
|
<script src="./swagger-ui-bundle.js"></script>
|
|
<script src="./swagger-ui-standalone-preset.js"></script>
|
|
<script>
|
|
/* Source: https://gist.github.com/lamberta/3768814
|
|
* Parse a string function definition and return a function object. Does not use eval.
|
|
* @param {string} str
|
|
* @return {function}
|
|
*
|
|
* Example:
|
|
* var f = function (x, y) { return x * y; };
|
|
* var g = parseFunction(f.toString());
|
|
* g(33, 3); //=> 99
|
|
*/
|
|
function parseFunction(str) {
|
|
if (!str) return void (0);
|
|
|
|
var fn_body_idx = str.indexOf('{'),
|
|
fn_body = str.substring(fn_body_idx + 1, str.lastIndexOf('}')),
|
|
fn_declare = str.substring(0, fn_body_idx),
|
|
fn_params = fn_declare.substring(fn_declare.indexOf('(') + 1, fn_declare.lastIndexOf(')')),
|
|
args = fn_params.split(',');
|
|
|
|
args.push(fn_body);
|
|
|
|
function Fn() {
|
|
return Function.apply(this, args);
|
|
}
|
|
|
|
Fn.prototype = Function.prototype;
|
|
|
|
return new Fn();
|
|
}
|
|
|
|
window.onload = function () {
|
|
var configObject = JSON.parse('%(ConfigObject)');
|
|
var oauthConfigObject = JSON.parse('%(OAuthConfigObject)');
|
|
|
|
// Workaround for https://github.com/swagger-api/swagger-ui/issues/5945
|
|
configObject.urls.forEach(function (item) {
|
|
if (item.url.startsWith("http") || item.url.startsWith("/")) return;
|
|
item.url = window.location.href.replace("index.html", item.url).split('#')[0];
|
|
});
|
|
|
|
// If validatorUrl is not explicitly provided, disable the feature by setting to null
|
|
if (!configObject.hasOwnProperty("validatorUrl"))
|
|
configObject.validatorUrl = null
|
|
|
|
// If oauth2RedirectUrl isn't specified, use the built-in default
|
|
if (!configObject.hasOwnProperty("oauth2RedirectUrl"))
|
|
configObject.oauth2RedirectUrl = (new URL("oauth2-redirect.html", window.location.href)).href;
|
|
|
|
// Apply mandatory parameters
|
|
configObject.dom_id = "#swagger-ui";
|
|
configObject.presets = [SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset];
|
|
configObject.layout = "StandaloneLayout";
|
|
|
|
// Parse and add interceptor functions
|
|
var interceptors = JSON.parse('%(Interceptors)');
|
|
if (interceptors.RequestInterceptorFunction)
|
|
configObject.requestInterceptor = parseFunction(interceptors.RequestInterceptorFunction);
|
|
if (interceptors.ResponseInterceptorFunction)
|
|
configObject.responseInterceptor = parseFunction(interceptors.ResponseInterceptorFunction);
|
|
|
|
// Begin Swagger UI call region
|
|
|
|
const ui = SwaggerUIBundle(configObject);
|
|
|
|
ui.initOAuth(oauthConfigObject);
|
|
|
|
// End Swagger UI call region
|
|
|
|
window.ui = ui
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|