                 (dissoc :save-request?))
             resp))
         (finally
-          (when (and (instance? BasicClientConnectionManager conn-mgr)
+          (when (and (or (instance? SingleClientConnManager conn-mgr)
+                         (instance? BasicClientConnectionManager conn-mgr))
                      (not= :stream as))
             (.shutdown ^ClientConnectionManager conn-mgr)))))))

           (org.apache.http.conn.params ConnRoutePNames)
           (org.apache.http.impl.client DefaultHttpClient)
           (org.apache.http.impl.conn BasicClientConnectionManager
                                      ProxySelectorRoutePlanner)
           (org.apache.http.auth UsernamePasswordCredentials AuthScope)
           (org.apache.http.util EntityUtils)))

         (proxy [HttpResponseInterceptor] []
           (process [resp ctx]
             (response-interceptor resp ctx)))))
      (when (or (instance? SingleClientConnManager conn-mgr)
                (instance? BasicClientConnectionManager conn-mgr))
        (.addHeader http-req "Connection" "close"))
      (doseq [[header-n header-v] headers]
        (if (coll? header-v)
