UNPKG

@marblejs/middleware-multipart

Version:

A multipart/form-data middleware for Marble.js

14 lines (13 loc) 884 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.multipart$ = void 0; const rxjs_1 = require("rxjs"); const operators_1 = require("rxjs/operators"); const http_1 = require("@marblejs/http"); const contentType_util_1 = require("@marblejs/http/dist/+internal/contentType.util"); const multipart_parser_1 = require("./multipart.parser"); const multipart_util_1 = require("./multipart.util"); const multipart$ = (opts = {}) => (req$) => req$.pipe((0, operators_1.mergeMap)(req => (0, multipart_util_1.shouldParseMultipart)(req) ? (0, multipart_parser_1.parseMultipart)(opts)(req) : (0, rxjs_1.throwError)(() => new http_1.HttpError(`Content-Type must be of type ${contentType_util_1.ContentType.MULTIPART_FORM_DATA}`, http_1.HttpStatus.PRECONDITION_FAILED, undefined, req))), (0, operators_1.map)(req => req)); exports.multipart$ = multipart$;