actionhero
Version:
actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks
174 lines (160 loc) • 5.65 kB
HTML
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="en" />
<meta name="description" content="Actionhero.js" />
<link rel="stylesheet" href="/public/css/cosmo.css" type="text/css" />
<link rel="icon" href="/public/favicon.ico" />
<title>Actionhero.js</title>
</head>
<body>
<div
class="alert alert-warning"
style="
display: none;
font-weight: bold;
position: fixed;
top: 0px;
left: 0px;
width: 100%;
z-index: 9999;
"
id="error-container"
>
<p id="error" />
</div>
<div class="container">
<br />
<div class="jumbotron">
<div class="row">
<div class="col-md-4">
<img src="/public/logo/actionhero.png" style="max-width: 100%;" />
</div>
<div class="col-md-8">
<h1>Your Actionhero Server is working.</h1>
<h2>Congratulations!</h2>
<br />
<br />
<p>
Actionhero.js is a multi-transport API Server with integrated
cluster capabilities and delayed tasks.
</p>
<p>
Actionhero was built from the ground up to include all the
features you expect from a modern API framework. This includes all
the features listed below and more. Actionhero also knows when to
get out of the way to allow you to customize your stack to fit
your needs.
</p>
<br />
<br />
<div class="row">
<div class="col-md-6">
<a href="/chat.html" class="btn btn-primary"
>Try a realtime-chat with web sockets</a
>
</div>
<div class="col-md-6">
<a
href="http://www.actionherojs.com"
target="_blank"
class="btn btn-success"
>Learn More about Actionhero</a
>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card border-primary">
<div class="card-header">This Server</div>
<div class="card-body">
<pre class="card-text">
Server Name: <span class="right" id="serverName"></span>
API Version: <span class="right" id="serverVersion"></span>
Actionhero Version <span class="right" id="actionheroVersion"></span>
Uptime (min): <span class="right" id="uptime"></span>
</pre>
</div>
</div>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12">
<h2>Actions on This Server:</h2>
<div class="list-group" id="actions" />
</div>
</div>
</div>
<script type="text/javascript">
var populateStatus = function (data) {
if (data.serverInformation) {
document.getElementById("serverVersion").innerHTML =
data.serverInformation.apiVersion;
document.getElementById("serverName").innerHTML =
data.serverInformation.serverName;
}
document.getElementById("actionheroVersion").innerHTML =
data.actionheroVersion;
document.getElementById("uptime").innerHTML = Math.round(
data.uptime / 1000 / 60
);
};
var populateDocumentation = function (data) {
for (var actionName in data.documentation) {
for (var version in data.documentation[actionName]) {
var action = data.documentation[actionName][version];
var row = "";
row +=
'<a href="/api/' +
action.name +
"?apiVersion=" +
version +
'" class="list-group-item list-group-item-action flex-column align-items-start>';
row += ' <div class="d-flex w-100 justify-content-between">';
row +=
' <h3 class="mb-1">' +
action.name +
" <small>v" +
version +
"</small></h3>";
row += " </div>";
row += ' <p class="mb-1">' + action.description + "</p>";
row += ' <div class="row">';
row += ' <div class="col-md-6">';
row += " <h5>Inputs</h5>";
row +=
" <pre>" +
JSON.stringify(action.inputs, null, 4) +
"</pre></p>";
row += " </div>";
row += ' <div class="col-md-6">';
row += " <h5>Output Example</h5>";
row +=
" <pre>" +
JSON.stringify(action.outputExample, null, 4) +
"</pre></p>";
row += " </div>";
row += " </div>";
row += "</a >";
document.getElementById("actions").innerHTML += row;
}
}
};
var renderError = function (error) {
console.error(error);
document.getElementById("error").innerHTML = error.toString();
document.getElementById("error-container").style.display = "block";
};
fetch("/api/showDocumentation")
.then((response) => response.json())
.then((data) => populateDocumentation(data));
fetch("/api/status")
.then((response) => response.json())
.then((data) => populateStatus(data));
</script>
</body>
</html>