@fiberplane/hono-otel
Version:
Hono middleware to forward OpenTelemetry traces to a local instance of @fiberplane/studio
20 lines (19 loc) • 765 B
JavaScript
import { getRedactedHeaders, getShouldTraceEverything } from "../../config/index.js";
export function headersToObject(headers) {
const returnObject = {};
headers.forEach((value, key) => {
returnObject[key] = value;
});
return returnObject;
}
export function getSafeHeaderValue(key, value, config) {
// NOTE - `toLowerCase` might not be necessary in Hono, since Hono headers are all lower case by default,
// but it's good to be safe
const lowerCaseKey = key.toLowerCase();
const redactedHeaders = getRedactedHeaders(config);
const shouldTraceEverything = getShouldTraceEverything(config);
if (!shouldTraceEverything && redactedHeaders.has(lowerCaseKey)) {
return "REDACTED";
}
return value;
}