We have to call the callback multiple times actually

So the thing I took away to prevent the stack overflow is still
actually somewhat required. If we only process 1 byte we have to
call it again to process the rest of it as well. Now we only call
it in case the file is either done or if it's a keep alive byte.
I HOPE this won't cause any more stack overflows.

Signed-off-by: Toon Schoenmakers <nighteyes1993@gmail.com>