blob: fe0c8ad7c7c9148e95cb021c6c2b783d0874edc0 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>API Docs</title>
<link rel="SHORTCUT ICON" href="images/favicon.ico"/>
<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'/>
<!--Custom: Take from application\frontend\nfv-client\dist\optimize\resources\nfv\css\style.css-->
<link href='css/ncso-style.css' rel='stylesheet' type='text/css'/>
<!--/Custom: Take from application\frontend\nfv-client\dist\optimize\resources\nfv\css\style.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>
<!-- Some basic translations -->
<!-- <script src='lang/translator.js' type='text/javascript'></script> -->
<!-- <script src='lang/ru.js' type='text/javascript'></script> -->
<!-- <script src='lang/en.js' type='text/javascript'></script> -->
<script type="text/javascript">
$(function () {
var url = window.location.protocol + "//" + window.location.host;
if (window.location.pathname.indexOf('/api-docs') > 0) {
url += window.location.pathname.substring(0, window.location.pathname.indexOf('/api-docs'))
}
url += "/api-docs/api.json";
log('API URL: ' + url);
// Pre load translate...
if(window.SwaggerTranslator) {
window.SwaggerTranslator.translate();
}
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",
clientSecret: "your-client-secret",
realm: "your-realms",
appName: "your-app-name",
scopeSeparator: ","
});
}
if(window.SwaggerTranslator) {
window.SwaggerTranslator.translate();
}
$('pre code').each(function(i, e) {
hljs.highlightBlock(e)
});
},
onFailure: function(data) {
log("Unable to Load SwaggerUI");
},
docExpansion: "none",
apisSorter: "alpha",
showRequestHeaders: false
});
window.swaggerUi.load();
function log() {
if ('console' in window) {
console.log.apply(console, arguments);
}
}
});
</script>
<!-- Hide the swagger io -->
<style>
.footer a, .footer img{
display: none !important;
}
</style>
</head>
<body class="swagger-section">
<!--NCSO script-->
<script>
//SET TITLE - START
function pollData() {
if(!(document.querySelector('#api_info .info_title') && document.querySelector('#api_info .info_title').innerText)) {
setTimeout(pollData, 50);
}
else {
setData();
}
}
function setData() {
document.querySelector('[data-uxf-point="main-title"]').innerText = document.querySelector('#api_info .info_title').innerText;
document.querySelector('#api_info .info_title').innerText = '';
}
pollData();
//SET TITLE - END
var __LOGIN_REST_STATUS = {OPEN: 'OPEN', SEND: 'SEND'};
var __loginPath = '/auth/tokens', __isLoginInProcess, __xAuthToken;
function isAuthanticationRest(path) {
return path.endsWith(__loginPath);
}
//Proxy requests - START
//Proxy Open Method
(function() {
var proxiedOpen = window.XMLHttpRequest.prototype.open;
window.XMLHttpRequest.prototype.open = function(method, path) {
if(isAuthanticationRest(path)) {
__isLoginInProcess = true;
}
else {
__isLoginInProcess = false;
}
return proxiedOpen.apply(this, Array.prototype.slice.call(arguments));
};
})();
//Proxy Send Method - X-AUTH-STUFF
(function() {
var proxiedSend = window.XMLHttpRequest.prototype.send;
window.XMLHttpRequest.prototype.send = function() {
if(__isLoginInProcess) {
proxyAuthanticationCallback(this);
}
return proxiedSend.apply(this, Array.prototype.slice.call(arguments));
};
})();
//Proxy Authantication Callback Method - X-AUTH-STUFF
function proxyAuthanticationCallback(xhrObject) {
var proxy = xhrObject.onreadystatechange;
xhrObject.onreadystatechange = function() {
if (xhrObject.readyState == 4) {
if(xhrObject.status == 200 || xhrObject.status == 401) {
window.swaggerUi.api.clientAuthorizations.remove('X-AUTH-TOKEN');
if(xhrObject.status == 200) {
var key = xhrObject.getResponseHeader('x-auth-token');
if(key && key.trim() != "") {
var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("X-AUTH-TOKEN", key, "header");
window.swaggerUi.api.clientAuthorizations.add("X-AUTH-TOKEN", apiKeyAuth);
console.log("added x-auth-key ", key);
}
}
}
}
return proxy.apply(xhrObject, Array.prototype.slice.call(arguments));
}
}
//Proxy Send Method - CUSTOM HEADERS STUFF
(function () {
var proxiedSend = window.XMLHttpRequest.prototype.send;
window.XMLHttpRequest.prototype.send = function () {
var headerItems = document.querySelectorAll('.custom-headers .headers-list .header-item');
if (headerItems) {
Array.prototype.forEach.call(headerItems, function (header) {
var headerName = header.querySelector('.header-name').value;
var headerValue = header.querySelector('.header-value').value;
if (headerName && headerValue) {
this.setRequestHeader(headerName, headerValue);
}
}, this);
}
return proxiedSend.apply(this, Array.prototype.slice.call(arguments));
};
})();
//Proxy requests - END
</script>
<div data-uxf-point="nfv-header" class="nfv-header">
<div class="header-content-wrapper">
<div data-uxf-point="nfv-logo" class="nfv-logo"><a href="../ncso/landingpage.html">VENDOR</a></div>
<div data-uxf-point="header-title" class="header-title">
<div data-uxf-point="main-title" class="main-title"></div>
<div data-uxf-point="version-controller" class="version-select"></div>
<div data-uxf-point="sub-title" class="sub-title"></div>
</div>
</div>
</div>
<div class="custom-headers">
<style>
.custom-headers {
margin-left: 124px;
width: 500px;
border: 1px solid #419EF1;
}
.custom-headers .headers-title {
background-color: #0F6AB4;
height: 24px;
color: white;
text-align: center;
font-size: 1.2em;
}
.custom-headers .headers-list .header-item {
display: flex;
justify-content: space-around;
padding: 10px 5px 0 5px;
}
.custom-headers .headers-list .header-item.default-item .header-col.header-delete {
visibility: hidden;
}
.custom-headers .headers-list .header-item.default-item .header-col.header-name {
pointer-events: none;
}
.custom-headers .headers-list .header-item .header-col.header-delete {
cursor: pointer;
align-self: center;
}
.custom-headers .add-header {
text-align: right;
padding: 5px;
border-top: 1px solid #0F6AB4;
margin-top: 10px;
background-color: #E7F6EC;
}
.custom-headers .add-header .add-header-button, .custom-headers .add-header .reset-header-button {
text-decoration: none;
color: white;
display: inline-block;
width: 50px;
font-size: 0.9em;
text-align: center;
padding: 7px 0 4px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-o-border-radius: 2px;
-ms-border-radius: 2px;
-khtml-border-radius: 2px;
border-radius: 2px;
background-color: #0f6ab4;
cursor: pointer;
}
.custom-headers .add-header .reset-header-button {
}
</style>
<div class="headers-title">Custom Headers</div>
<div class="headers-list">
<!--Dynamically add headers using addHeaderItem function-->
</div>
<div class="add-header">
<span class="reset-header-button" onclick="resetHeaderItems();">Reset</span>
<span class="add-header-button" onclick="addHeaderItem();">Add</span>
</div>
<script>
function addHeaderItem(defaultName, defaultValue) {
var headerItemName = document.createElement('input');
headerItemName.type = 'text';
headerItemName.value = defaultName || '';
headerItemName.classList.add('header-col', 'header-name');
var headerItemValue = document.createElement('input');
headerItemValue.type = 'text';
headerItemValue.value = defaultValue || '';
headerItemValue.classList.add('header-col', 'header-value');
var headerItemDelete = document.createElement('div');
headerItemDelete.innerHTML = '&#10006;';
headerItemDelete.classList.add('header-col', 'header-delete');
var headerItem = document.createElement('div');
headerItem.classList.add('header-item');
headerItem.appendChild(headerItemName);
headerItem.appendChild(headerItemValue);
headerItem.appendChild(headerItemDelete);
headerItemDelete.onclick = function () {
headersList.removeChild(headerItem);
};
var headersList = document.querySelector('.custom-headers .headers-list');
headersList.appendChild(headerItem);
return headerItem;
}
function resetHeaderItems() {
var headersList = document.querySelector('.custom-headers .headers-list');
while (headersList.firstChild) {
headersList.removeChild(headersList.firstChild);
}
var defaultHeaderItem = addHeaderItem('USER_ID');
defaultHeaderItem.classList.add('default-item');
}
resetHeaderItems();
</script>
</div>
<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
</body>
</html>