yes, I'm relying on the servlet container to cut the stream into chunks
`buffer` is really just an intern variable for consumeBody.
I put it extern to avoid creating a new Array[Byte] in `consumeBody`.
My tests by uploading big files show less GC.

But it is just a micro-optimization. I can make `buffer` local to `consumeBody`.
`consumeBody` reads for the input stream as long as data is available `body.isReady`.