@vtex/api
Version:
VTEX I/O API client
35 lines (34 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.metricsLoggerHandler = exports.healthcheckHandler = exports.whoAmIHandler = void 0;
const whoAmIHandler = ({ events, routes, }) => (ctx) => {
var _a, _b;
ctx.requestHandlerName = 'builtin:whoami';
(_b = (_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.currentSpan) === null || _b === void 0 ? void 0 : _b.setOperationName(ctx.requestHandlerName);
ctx.status = 200;
ctx.body = {
events,
routes,
};
ctx.set('Cache-Control', 'public, max-age=86400'); // cache for 24 hours
};
exports.whoAmIHandler = whoAmIHandler;
const healthcheckHandler = ({ events, routes, }) => (ctx) => {
var _a, _b;
ctx.requestHandlerName = 'builtin:healthcheck';
(_b = (_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.currentSpan) === null || _b === void 0 ? void 0 : _b.setOperationName(ctx.requestHandlerName);
ctx.status = 200;
ctx.body = {
events,
routes,
};
};
exports.healthcheckHandler = healthcheckHandler;
const metricsLoggerHandler = (ctx) => {
var _a, _b;
ctx.requestHandlerName = 'builtin:metrics-logger';
(_b = (_a = ctx.tracing) === null || _a === void 0 ? void 0 : _a.currentSpan) === null || _b === void 0 ? void 0 : _b.setOperationName(ctx.requestHandlerName);
ctx.status = 200;
ctx.body = ctx.metricsLogger.getSummaries();
};
exports.metricsLoggerHandler = metricsLoggerHandler;