ContentDecoder.isCompeted should be .isCompleted
ContentEncoder.isCompeted should be .isCompleted
We've avoided tying the request and response directly so far.
But it's probably not a big issue, so leave it that way.
I don't like this at all. You are assuming that 100 continue
is the only preliminary response that will ever be sent.
That is true for the current HTTP specifications, but HTTP
explicitly allows for extensions. I don't see why we should
restrict our API in this case. Alternatives:
Will the client handler get a chance to handle other kinds
of exceptions, too? I usually prefer a generic error handling
method, where the handler decides what to do (if anything):