UNPKG

@apollographql/graphql-upload-8-fork

Version:

Fork of graphql-upload@8 that works with graphql@15 for compatibility with apollo-server@2

27 lines (24 loc) 751 B
import { processRequest as defaultProcessRequest } from './processRequest' export const graphqlUploadExpress = ({ processRequest = defaultProcessRequest, ...processRequestOptions } = {}) => (request, response, next) => { if (!request.is('multipart/form-data')) return next() const finished = new Promise(resolve => request.on('end', resolve)) const { send } = response response.send = (...args) => { finished.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) }) }