It can be done. In that case, the unique HTTP client is reused for more than one transaction, i.e, it is used for a PUT, then a GET, etc. My only concern is about connection resets, temporarily communication breakdowns, etc... In that case the "status" of the client must be managed. That's because I use to get a new fresh HTTP client (from the pool the HTTPClientFactory provides) each time I want to interact with the remote peer. Nevertheless, it can be analyzed.