@dudousxd/nestjs-telescope
Version:
Laravel Telescope-style observability console for NestJS — core: watchers, recorder, correlation, SQLite store, headless API.
21 lines • 877 B
JavaScript
// packages/core/src/nest/platform-request.ts
function asRecord(value) {
return typeof value === 'object' && value !== null ? value : {};
}
function asString(value, fallback) {
return typeof value === 'string' ? value : fallback;
}
/** Normalize a raw Node request (Express or Fastify-via-middie) into recordable fields. */
export function normalizeRequest(req) {
const record = asRecord(req);
const socket = asRecord(record.socket);
const url = record.originalUrl !== undefined ? record.originalUrl : record.url;
const ipCandidate = record.ip !== undefined ? record.ip : socket.remoteAddress;
return {
method: asString(record.method, 'UNKNOWN'),
url: asString(url, ''),
headers: asRecord(record.headers),
ip: typeof ipCandidate === 'string' ? ipCandidate : null,
};
}
//# sourceMappingURL=platform-request.js.map