INNER CODE UNIT · TypeScript
exportPrometheusMetrics
OutlineFoundation/outline-server · src/shadowbox/server/main.ts:48
async function exportPrometheusMetrics(registry: prometheus.Registry, port): Promise<http.Server> {
return new Promise<http.Server>((resolve, _) => {
const server = http.createServer((_, res) => {
res.setHeader('Content-Type', registry.contentType);
res.write(registry.metrics());
res.end();
});
server.on('listening', () => {
resolve(server);
});
server.listen({port, host: 'localhost', exclusive: true});
});
}
function reserveExistingAccessKeyPorts(
keyConfig: json_config.JsonConfig<AccessKeyConfigJson>,
portProvider: PortProvider
) {