1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- "use strict";
- const defaultProcessRequest = require("./processRequest.js");
- function graphqlUploadExpress({
- processRequest = defaultProcessRequest,
- ...processRequestOptions
- } = {}) {
-
- function graphqlUploadExpressMiddleware(request, response, next) {
- if (!request.is("multipart/form-data")) return next();
- const requestEnd = new Promise((resolve) => request.on("end", resolve));
- const { send } = response;
-
-
- response.send =
-
- (...args) => {
- requestEnd.then(() => {
- response.send = send;
- response.send(...args);
- });
- };
- processRequest(request, response, processRequestOptions)
- .then((body) => {
- request.body = body;
- next();
- })
- .catch((error) => {
- if (error.status && error.expose) response.status(error.status);
- next(error);
- });
- }
- return graphqlUploadExpressMiddleware;
- }
- module.exports = graphqlUploadExpress;
|