AbstractHttpClientDecorator implements HttpClient { protected HttpHost getHttpHost(HttpUriRequest req) { URI uri = req.getURI(); String scheme = uri.getScheme(); if ("HTTPS".equalsIgnoreCase(scheme)) { return new HttpHost(uri.getScheme() + ": } else { return new HttpHost(uri.getAuthority()); } } AbstractHttpClientDecorator(HttpClient backend); abstract HttpResponse execute(HttpHost host, HttpRequest req,
            HttpContext ctx); HttpResponse execute(HttpUriRequest req); HttpResponse execute(HttpUriRequest req, HttpContext ctx); HttpResponse execute(HttpHost host, HttpRequest req); T execute(HttpUriRequest req, ResponseHandler<? extends T> rh); T execute(HttpUriRequest req,
            ResponseHandler<? extends T> rh, HttpContext ctx); T execute(HttpHost host, HttpRequest req,
            ResponseHandler<? extends T> rh); T execute(HttpHost host, HttpRequest req,
            ResponseHandler<? extends T> rh, HttpContext ctx); ClientConnectionManager getConnectionManager(); HttpParams getParams();  }
@Test public void canExtractSimpleHostProperly() { assertEquals(new HttpHost("foo.example.com"), impl.getHttpHost(new HttpGet("http: }
@Test public void canExtractHostWithPort() { assertEquals(new HttpHost("foo.example.com:8080"), impl.getHttpHost(new HttpGet("http: }
@Test public void canExtractHttpsHostProperly() { assertEquals(new HttpHost("https: impl.getHttpHost(new HttpGet("https: }