@vtex/api
Version:
VTEX I/O API client
24 lines (23 loc) • 684 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.recorderMiddleware = void 0;
const recorderMiddleware = (recorder) => async (ctx, next) => {
var _a;
if ((_a = ctx.config) === null || _a === void 0 ? void 0 : _a.ignoreRecorder) {
await next();
return;
}
try {
await next();
if (ctx.response) {
recorder.record(ctx.response.headers);
}
}
catch (err) {
if (err.response && err.response.headers && err.response.status === 404) {
recorder.record(err.response.headers);
}
throw err;
}
};
exports.recorderMiddleware = recorderMiddleware;