@promster/server
Version:
Server exposing metrics under GET /metrics
29 lines (28 loc) • 862 B
JavaScript
import { createServer as createServer$1 } from "node:http";
import { getContentType, getSummary, skipMetricsInEnvironment } from "@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 = createServer$1(async (_req, res) => {
res.writeHead(200, "OK", { "content-type": getContentType() });
res.end(await getSummary());
});
return new Promise((resolve, reject) => {
const port = skipMetricsInEnvironment(defaultedOptions) ? void 0 : defaultedOptions.port;
server.listen(port, defaultedOptions.hostname, () => {
server.on("error", reject);
resolve(server);
});
});
};
//#endregion
export { createServer };
//# sourceMappingURL=index.js.map