What I mean is you have to always rewrite (or create new) HttpRequest so that it fits the contract (for streaming, HttpMessage.isChunked() == true and HttpMessage.getContent() == EMPTY_BUFFER).