@tsed/common
Version:
A TypeScript Framework on top of Express
37 lines • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PlatformAcceptMimesMiddleware = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@tsed/core");
const di_1 = require("@tsed/di");
const exceptions_1 = require("@tsed/exceptions");
const mvc_1 = require("../../mvc");
const context_1 = require("../decorators/context");
/**
* @middleware
* @platform
*/
let PlatformAcceptMimesMiddleware = class PlatformAcceptMimesMiddleware {
use(ctx) {
const { endpoint, request } = ctx;
const mimes = core_1.uniq((endpoint.get("acceptMimes") || []).concat(this.acceptMimes));
if (mimes.length && !request.accepts(mimes)) {
throw new exceptions_1.NotAcceptable(mimes.join(", "));
}
}
};
tslib_1.__decorate([
di_1.Constant("acceptMimes", []),
tslib_1.__metadata("design:type", Array)
], PlatformAcceptMimesMiddleware.prototype, "acceptMimes", void 0);
tslib_1.__decorate([
tslib_1.__param(0, context_1.Context()),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Object]),
tslib_1.__metadata("design:returntype", void 0)
], PlatformAcceptMimesMiddleware.prototype, "use", null);
PlatformAcceptMimesMiddleware = tslib_1.__decorate([
mvc_1.Middleware()
], PlatformAcceptMimesMiddleware);
exports.PlatformAcceptMimesMiddleware = PlatformAcceptMimesMiddleware;
//# sourceMappingURL=PlatformAcceptMimesMiddleware.js.map