200 lines
6.8 KiB
HTML
200 lines
6.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Swagger UI</title>
|
|
<link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
|
|
<link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
|
|
<link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
|
|
<link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
|
|
<link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
|
|
<link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
|
|
<link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>
|
|
<link href='css/style.css' media='screen' rel='stylesheet' type='text/css' />
|
|
|
|
<script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
|
|
<script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
|
|
<script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
|
|
<script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
|
|
<script src='lib/handlebars-2.0.0.js' type='text/javascript'></script>
|
|
<script src='lib/underscore-min.js' type='text/javascript'></script>
|
|
<script src='lib/backbone-min.js' type='text/javascript'></script>
|
|
<script src='swagger-ui.js' type='text/javascript'></script>
|
|
<script src='lib/highlight.7.3.pack.js' type='text/javascript'></script>
|
|
<script src='lib/marked.js' type='text/javascript'></script>
|
|
<script src='lib/swagger-oauth.js' type='text/javascript'></script>
|
|
|
|
<script type="text/javascript">
|
|
$(function () {
|
|
var url = window.location.search.match(/url=([^&]+)/);
|
|
if (url && url.length > 1) {
|
|
url = decodeURIComponent(url[1]);
|
|
} else {
|
|
url = "http://petstore.swagger.io/v2/swagger.json";
|
|
}
|
|
window.swaggerUi = new SwaggerUi({
|
|
url: url,
|
|
dom_id: "swagger-ui-container",
|
|
supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
|
|
onComplete: function(swaggerApi, swaggerUi){
|
|
if(typeof initOAuth == "function") {
|
|
initOAuth({
|
|
clientId: "your-client-id",
|
|
realm: "your-realms",
|
|
appName: "your-app-name"
|
|
});
|
|
}
|
|
|
|
$('pre code').each(function(i, e) {
|
|
hljs.highlightBlock(e)
|
|
});
|
|
|
|
addApiKeyAuthorization();
|
|
},
|
|
onFailure: function(data) {
|
|
log("Unable to Load SwaggerUI");
|
|
},
|
|
docExpansion: "none",
|
|
apisSorter: "alpha"
|
|
});
|
|
|
|
function addApiKeyAuthorization(){
|
|
var key = encodeURIComponent($('#input_apiKey')[0].value);
|
|
if(key && key.trim() != "") {
|
|
var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("api_key", key, "query");
|
|
window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
|
|
log("added key " + key);
|
|
}
|
|
}
|
|
|
|
$('#input_apiKey').change(addApiKeyAuthorization);
|
|
|
|
// if you have an apiKey you would like to pre-populate on the page for demonstration purposes...
|
|
/*
|
|
var apiKey = "myApiKeyXXXX123456789";
|
|
$('#input_apiKey').val(apiKey);
|
|
*/
|
|
|
|
window.swaggerUi.load();
|
|
|
|
function log() {
|
|
if ('console' in window) {
|
|
console.log.apply(console, arguments);
|
|
}
|
|
}
|
|
});
|
|
</script>
|
|
</head>
|
|
|
|
<body class="swagger-section">
|
|
<div id='header'>
|
|
<div class="swagger-ui-wrap">
|
|
<a id="logo" href="http://swagger.io">swagger</a>
|
|
<form id='api_selector'>
|
|
<div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
|
|
<div class='input'><input placeholder="api_key" id="input_apiKey" name="apiKey" type="text"/></div>
|
|
<div class='input'><a id="explore" href="#">Explore</a></div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="message-bar" class="swagger-ui-wrap"> </div>
|
|
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
|
|
|
|
<!-- Curl Script -->
|
|
|
|
<script type="text/javascript">
|
|
$('body.swagger-section').on('click', '.sandbox_header', function(){
|
|
setTimeout(function(){
|
|
var parent = $(this).closest('.content');
|
|
var nearest = parent.find('.response');
|
|
|
|
//create a way to input specific username and password variables
|
|
//to generate base 64 bits. (i.e. a sign in menu)
|
|
var username = $("#user").val();
|
|
var password = $("#password").val();
|
|
|
|
|
|
var authcode = btoa(username + ":" + password);
|
|
|
|
parent.find('.response .curl').remove();
|
|
parent.find('.response .curl_title').remove();
|
|
|
|
authcode = "Basic " + authcode;
|
|
|
|
|
|
var url = $(this).closest('.endpoint').find('.block.request_url pre').html();
|
|
var method = $(this).closest('.endpoint').find('.http_method .toggleOperation').html().toUpperCase();
|
|
var parameters = $(this).closest('.endpoint').find('.body-textarea.required').val();
|
|
|
|
var text2;
|
|
|
|
if (username == "" || password == ""){
|
|
authcode = '<Please Sign in>'
|
|
}
|
|
|
|
if (method == 'GET'){
|
|
text2 = method + ' -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Authorization: ' + authcode + '" ' ;
|
|
}
|
|
|
|
if (method == 'POST'){
|
|
text2 = method + ' -H "Content-Type: application/json" -H "Authorization: ' + authcode +'" ' + '-H "Cache-Control: no-cache" -d \'' + parameters + '\' ';
|
|
}
|
|
|
|
if (method == 'DELETE') {
|
|
text2 = method + ' -H "Content-Type: application/json" -H "Authorization: ' + authcode + '" ';
|
|
}
|
|
|
|
if (method == 'PUT') {
|
|
text2 = method + ' -H "Content-Type: application/json" -H "Authorization: ' + authcode + '" ';
|
|
}
|
|
|
|
|
|
$('<div/>', {
|
|
class: 'curl',
|
|
text:'curl -X ' + text2 + url,
|
|
}).prependTo(nearest);
|
|
|
|
$('<h4>', {
|
|
class: 'curl_title',
|
|
text: 'Curl',
|
|
}).prependTo(nearest);
|
|
|
|
|
|
|
|
}.bind(this), 500)});
|
|
|
|
</script>
|
|
|
|
<!--Double click to highlight all Curl -->
|
|
<script type="text/javascript">
|
|
|
|
function SelectText(element) {
|
|
var doc = document,
|
|
text = element,
|
|
range,
|
|
selection;
|
|
if (doc.body.createTextRange) {
|
|
range = document.body.createTextRange();
|
|
range.moveToElementText(text);
|
|
range.select();
|
|
} else if (window.getSelection) {
|
|
selection = window.getSelection();
|
|
range = document.createRange();
|
|
range.selectNodeContents(text);
|
|
selection.removeAllRanges();
|
|
selection.addRange(range);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$('body.swagger-section').on('dblclick', '.curl', function(){
|
|
SelectText($(this)[0].childNodes[0]);
|
|
});
|
|
|
|
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|