Support partial reads
If there was an error after reading some data we still want to send that data before propagating the error. Do that properly.
Edited by Mikhail Mazurskiy
If there was an error after reading some data we still want to send that data before propagating the error. Do that properly.