systemquery/src/lib/agent/subsystems/http/routes.mjs

35 lines
872 B
JavaScript

"use strict";
import ServerRouter from 'powahroot/Server.mjs';
import middleware_log from './routes/middleware_log.mjs';
import middleware_catch_errors from './routes/middleware_errors.mjs';
import route_table from './routes/table.mjs';
import route_static from './routes/static.mjs';
import route_status from './routes/status.mjs';
export default function(sys) {
const router = new ServerRouter();
router.on_all(middleware_catch_errors.bind(this, sys.config.verbose));
router.on_all(middleware_log);
///
// API
///
router.get(`/api/status`, route_status.bind(this, sys));
router.get(`/api/table/:table_name`, route_table.bind(this, sys));
///
// Web interface
///
router.get(`/`, async (ctx, next) => {
ctx.params.filepath = `index.html`;
await route_static(ctx, next);
});
router.get(`/static/::filepath`, route_static);
return router;
}