@opra/nestjs-http
Version:
Opra NestJS Http Module
34 lines (33 loc) • 1.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpraMiddleware = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const http_1 = require("@opra/http");
const opra_http_nestjs_adapter_js_1 = require("./opra-http-nestjs-adapter.js");
let OpraMiddleware = class OpraMiddleware {
constructor(opraAdapter) {
this.opraAdapter = opraAdapter;
}
use(req, res, next) {
const request = http_1.HttpIncoming.from(req);
const response = http_1.HttpOutgoing.from(res);
/** Create the HttpContext */
const context = new http_1.HttpContext({
adapter: this.opraAdapter,
platform: req.route ? 'express' : 'fastify',
request,
response,
});
req.opraContext = context;
this.opraAdapter
.emitAsync('createContext', context)
.then(() => next())
.catch(next);
}
};
exports.OpraMiddleware = OpraMiddleware;
exports.OpraMiddleware = OpraMiddleware = tslib_1.__decorate([
(0, common_1.Injectable)(),
tslib_1.__metadata("design:paramtypes", [opra_http_nestjs_adapter_js_1.OpraHttpNestjsAdapter])
], OpraMiddleware);
;