@promster/server
Version:
Server exposing metrics under GET /metrics
30 lines (29 loc) • 972 B
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
let node_http = require("node:http");
let _promster_metrics = require("@promster/metrics");
//#region src/server/server.ts
const defaultOptions = {
port: 7788,
hostname: "0.0.0.0",
detectKubernetes: false
};
const createServer = async (options) => {
const defaultedOptions = {
...defaultOptions,
...options
};
const server = (0, node_http.createServer)(async (_req, res) => {
res.writeHead(200, "OK", { "content-type": (0, _promster_metrics.getContentType)() });
res.end(await (0, _promster_metrics.getSummary)());
});
return new Promise((resolve, reject) => {
const port = (0, _promster_metrics.skipMetricsInEnvironment)(defaultedOptions) ? void 0 : defaultedOptions.port;
server.listen(port, defaultedOptions.hostname, () => {
server.on("error", reject);
resolve(server);
});
});
};
//#endregion
exports.createServer = createServer;
//# sourceMappingURL=index.cjs.map