private void sendAndReceive(HttpTunnelPayload payload) throws IOException {
   ClientHttpRequest request = createRequest(payload != null);
   if (payload != null) {
     payload.logIncoming();
     payload.assignTo(request);
   }
   handleResponse(request.execute());
 }