fix server dropping messages if sent too quickly

I was creating a buffered reader on every request, and throwing it away after
parsing one request from it, so any bits that snuck in while handling that
single request would get thrown away with the buffer.

Fix is to simply make the reader once and use that for reading all data.