Certain tests failing in Node.js < 10.
I am desperate for help with this. [Certain tests are failing](https://travis-ci.org/jaydenseric/apollo-upload-server/jobs/381536906#L2402), but only in Node.js < 10. With `ava` they used to happen intermittently on my local machine, now we are using `node-tap` I only see them in Travis - testing Node.js v8.5 locally works. Using the Travis Docker image locally I consistently get failures in Node.js v8.5.

The failing tests all relate to situations where the middleware aborts processing to send an early error/response due to a malformed or excessive request.

The errors are `request to http://localhost:{port}/ failed, reason: write EPIPE`. This error is thrown by `node-fetch` when making a test request and the server disconnects without a response. You would expect `node-fetch` would throw a less cryptic error, matching whatever sort of HTTP error `window.fetch` produces but I digress (there are no discussion in `node-fetch` about it, and `got` has a similar behavior). The middleware assertions seem to be working as expected, and the right errors are being thrown. Something about the way the request closes is iffy.

The intention is to reject `processRequest` with an error, setting the response status to the right HTTP error code. That error can be handled by the consumer in latter middleware, or not to have Koa/Express use the error to automatically send the response.

Best practices around this are really murky; with Node.js/Koa/Express out of the box it seems middleware errors only cause a response after the incoming request/upload stream finishes. This is a waste of time and resources; ideally the request is immediately canceled and an early error response is sent. If our middleware takes care of that automatically, it will go against typical Express/Koa middleware design where the consumer has a chance to handle the error themselves in later middleware and send a custom response. I don't even know the best way to cancel the response early anyway, [it's not very straightforward](https://github.com/koajs/koa/issues/879).

I must have spent over a week of effort combined over the past few months trying to work it out, and at this point unless a hero swoops in with a PR I will have to raise the supported Node.js version to 10+.