From e7b80c56cf82b562bd0449b19a0425b520200c9b Mon Sep 17 00:00:00 2001 From: ztimson Date: Thu, 17 Apr 2025 10:39:14 -0400 Subject: [PATCH] Finished exporter --- src/main.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main.ts b/src/main.ts index 92921db..b3985ee 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,7 +1,8 @@ import compression from 'compression'; +import cors from 'cors'; import express from 'express'; import http from 'node:http'; -import * as process from 'node:process'; +import process from 'node:process'; import {environment} from './environment'; import {errorHandler, errorMiddleware} from './error.middleware'; import {loggerMiddleware} from './logger.middleware'; @@ -11,6 +12,7 @@ if(!environment.tickers.length) throw new Error('Please provide a CSV list of ti const app = express(); const httpServer: http.Server = http.createServer(app); +app.use(cors({origin: '*'})) app.use(compression()); app.use(loggerMiddleware); @@ -21,7 +23,7 @@ let shuttingDown = false; if(shuttingDown) return; // Already shutting down shuttingDown = true; console.warn(`${signal} Received, shutting down...`); - httpServer.close(() => setTimeout(() => process.exit(128 + value), 1000)); + httpServer.close(() => process.exit(128 + value)); }); }); @@ -30,11 +32,8 @@ app.get('/', errorHandler(async (req, res) => { fetch(`https://finnhub.io/api/v1/quote?symbol=${ticker}&token=${environment.token}`) .then(resp => resp.json()))); -// const metrics = results.map(r => `# HELP stock_price_${result.symbol} Stock price for ${result.symbol} -// # TYPE stock_price_${result.symbol} gauge -// stock_price_${result.symbol} ${result.c}`).join('\n'); - const metrics = JSON.stringify(results); - + let metrics = '# HELP stock_price Current stock price\n# TYPE stock_price gauge\n'; + metrics += results.map((r, i) => `stock_price{ticker="${environment.tickers[i]}"} ${r.c}`).join('\n'); res.contentType('text/plain').send(metrics); })); -- 2.47.2