From 5a8a6d0fc869f992f1f0bdd5bfba5b4e8754364b Mon Sep 17 00:00:00 2001 From: Michael Osipov Date: Sun, 19 Jan 2020 20:23:33 +0100 Subject: [PATCH] Convert convenience builders form enums to final classes Turn exhaustive enum builder pattern to a final class with builder methods serving HTTP request objects. This closes #202 --- .../hc/client5/http/fluent/Request.java | 32 ++-- ...AbstractHttpAsyncClientAuthentication.java | 26 +-- .../AbstractHttpAsyncFundamentalsTest.java | 12 +- .../async/AbstractHttpAsyncRedirectsTest.java | 48 ++--- .../client5/testing/async/TestHttp1Async.java | 8 +- .../async/TestHttp1AsyncRedirects.java | 8 +- .../TestHttp1AsyncStatefulConnManagement.java | 10 +- .../async/TestHttp1ClientAuthentication.java | 2 +- .../testing/async/TestHttp1Reactive.java | 2 +- ...chingHttpAsyncClientCompatibilityTest.java | 10 +- .../HttpAsyncClientCompatibilityTest.java | 12 +- .../http/async/methods/BasicHttpRequests.java | 170 +++++++++++++++++ .../http/async/methods/HttpRequests.java | 166 ----------------- .../async/methods/SimpleHttpRequests.java | 174 +++++++++--------- .../classic/methods/ClassicHttpRequests.java | 139 +++++++------- ...quests.java => TestBasicHttpRequests.java} | 33 ++-- .../methods/TestClassicHttpRequests.java | 34 ++-- .../examples/AsyncClientAuthentication.java | 2 +- .../AsyncClientConnectionEviction.java | 2 +- .../http/examples/AsyncClientCustomSSL.java | 2 +- .../examples/AsyncClientH2Multiplexing.java | 2 +- .../examples/AsyncClientHttp1Pipelining.java | 2 +- .../examples/AsyncClientHttpExchange.java | 2 +- .../examples/AsyncClientInterceptors.java | 2 +- .../http/examples/AsyncClientTlsAlpn.java | 2 +- .../http/examples/AsyncQuickStart.java | 6 +- 26 files changed, 457 insertions(+), 451 deletions(-) create mode 100644 httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/BasicHttpRequests.java delete mode 100644 httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/HttpRequests.java rename httpclient5/src/test/java/org/apache/hc/client5/http/async/methods/{TestHttpRequests.java => TestBasicHttpRequests.java} (70%) diff --git a/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java b/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java index dee0a9a90..18678e491 100644 --- a/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java +++ b/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java @@ -94,67 +94,67 @@ public static Request create(final String methodName, final URI uri) { } public static Request Get(final URI uri) { - return new Request(ClassicHttpRequests.GET.create(uri)); + return new Request(ClassicHttpRequests.get(uri)); } public static Request Get(final String uri) { - return new Request(ClassicHttpRequests.GET.create(uri)); + return new Request(ClassicHttpRequests.get(uri)); } public static Request Head(final URI uri) { - return new Request(ClassicHttpRequests.HEAD.create(uri)); + return new Request(ClassicHttpRequests.head(uri)); } public static Request Head(final String uri) { - return new Request(ClassicHttpRequests.HEAD.create(uri)); + return new Request(ClassicHttpRequests.head(uri)); } public static Request Post(final URI uri) { - return new Request(ClassicHttpRequests.POST.create(uri)); + return new Request(ClassicHttpRequests.post(uri)); } public static Request Post(final String uri) { - return new Request(ClassicHttpRequests.POST.create(uri)); + return new Request(ClassicHttpRequests.post(uri)); } public static Request Patch(final URI uri) { - return new Request(ClassicHttpRequests.PATCH.create(uri)); + return new Request(ClassicHttpRequests.patch(uri)); } public static Request Patch(final String uri) { - return new Request(ClassicHttpRequests.PATCH.create(uri)); + return new Request(ClassicHttpRequests.patch(uri)); } public static Request Put(final URI uri) { - return new Request(ClassicHttpRequests.PUT.create(uri)); + return new Request(ClassicHttpRequests.put(uri)); } public static Request Put(final String uri) { - return new Request(ClassicHttpRequests.PUT.create(uri)); + return new Request(ClassicHttpRequests.put(uri)); } public static Request Trace(final URI uri) { - return new Request(ClassicHttpRequests.TRACE.create(uri)); + return new Request(ClassicHttpRequests.trace(uri)); } public static Request Trace(final String uri) { - return new Request(ClassicHttpRequests.TRACE.create(uri)); + return new Request(ClassicHttpRequests.trace(uri)); } public static Request Delete(final URI uri) { - return new Request(ClassicHttpRequests.DELETE.create(uri)); + return new Request(ClassicHttpRequests.delete(uri)); } public static Request Delete(final String uri) { - return new Request(ClassicHttpRequests.DELETE.create(uri)); + return new Request(ClassicHttpRequests.delete(uri)); } public static Request Options(final URI uri) { - return new Request(ClassicHttpRequests.OPTIONS.create(uri)); + return new Request(ClassicHttpRequests.options(uri)); } public static Request Options(final String uri) { - return new Request(ClassicHttpRequests.OPTIONS.create(uri)); + return new Request(ClassicHttpRequests.options(uri)); } Request(final ClassicHttpRequest request) { diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncClientAuthentication.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncClientAuthentication.java index 8dce39e47..872481bc8 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncClientAuthentication.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncClientAuthentication.java @@ -164,7 +164,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credsProvider); - final Future future = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context, null); + final Future future = httpclient.execute(SimpleHttpRequests.get(target, "/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -191,7 +191,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credsProvider); - final Future future = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context, null); + final Future future = httpclient.execute(SimpleHttpRequests.get(target, "/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -218,7 +218,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credsProvider); - final Future future = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context, null); + final Future future = httpclient.execute(SimpleHttpRequests.get(target, "/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -245,7 +245,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credsProvider); - final SimpleHttpRequest put = SimpleHttpRequests.PUT.create(target, "/"); + final SimpleHttpRequest put = SimpleHttpRequests.put(target, "/"); put.setBodyText("Some important stuff", ContentType.TEXT_PLAIN); final Future future = httpclient.execute(put, context, null); final HttpResponse response = future.get(); @@ -275,7 +275,7 @@ public AsyncServerExchangeHandler get() { context.setCredentialsProvider(credsProvider); context.setRequestConfig(RequestConfig.custom().setExpectContinueEnabled(true).build()); - final SimpleHttpRequest put = SimpleHttpRequests.PUT.create(target, "/"); + final SimpleHttpRequest put = SimpleHttpRequests.put(target, "/"); put.setBodyText("Some important stuff", ContentType.TEXT_PLAIN); final Future future = httpclient.execute(put, context, null); final HttpResponse response = future.get(); @@ -302,7 +302,7 @@ public AsyncServerExchangeHandler get() { context.setCredentialsProvider(credsProvider); context.setRequestConfig(RequestConfig.custom().setExpectContinueEnabled(true).build()); - final SimpleHttpRequest put = SimpleHttpRequests.PUT.create(target, "/"); + final SimpleHttpRequest put = SimpleHttpRequests.put(target, "/"); put.setBodyText("Some important stuff", ContentType.TEXT_PLAIN); final Future future = httpclient.execute(put, context, null); final HttpResponse response = future.get(); @@ -345,12 +345,12 @@ public List select( final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credsProvider); - final Future future1 = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context, null); + final Future future1 = httpclient.execute(SimpleHttpRequests.get(target, "/"), context, null); final HttpResponse response1 = future1.get(); Assert.assertNotNull(response1); Assert.assertEquals(HttpStatus.SC_OK, response1.getCode()); - final Future future2 = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context, null); + final Future future2 = httpclient.execute(SimpleHttpRequests.get(target, "/"), context, null); final HttpResponse response2 = future2.get(); Assert.assertNotNull(response2); Assert.assertEquals(HttpStatus.SC_OK, response2.getCode()); @@ -372,7 +372,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target.getSchemeName() + "://test:test@" + target.toHostString() + "/"), context, null); + SimpleHttpRequests.get(target.getSchemeName() + "://test:test@" + target.toHostString() + "/"), context, null); final SimpleHttpResponse response = future.get(); Assert.assertNotNull(response); @@ -393,7 +393,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target.getSchemeName() + "://test:all-worng@" + target.toHostString() + "/"), context, null); + SimpleHttpRequests.get(target.getSchemeName() + "://test:all-worng@" + target.toHostString() + "/"), context, null); final SimpleHttpResponse response = future.get(); Assert.assertNotNull(response); @@ -431,7 +431,7 @@ protected SimpleHttpResponse handle( final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target.getSchemeName() + "://test:test@" + target.toHostString() + "/thatway"), context, null); + SimpleHttpRequests.get(target.getSchemeName() + "://test:test@" + target.toHostString() + "/thatway"), context, null); final SimpleHttpResponse response = future.get(); Assert.assertNotNull(response); @@ -511,7 +511,7 @@ protected void customizeUnauthorizedResponse(final HttpResponse unauthorized) { context.setCredentialsProvider(credsProvider); for (int i = 0; i < 10; i++) { - final SimpleHttpRequest request = SimpleHttpRequests.GET.create(target, "/"); + final SimpleHttpRequest request = SimpleHttpRequests.get(target, "/"); request.setConfig(config); final Future future = httpclient.execute(request, context, null); final SimpleHttpResponse response = future.get(); @@ -552,7 +552,7 @@ protected void customizeUnauthorizedResponse(final HttpResponse unauthorized) { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credsProvider); - final Future future = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context, null); + final Future future = httpclient.execute(SimpleHttpRequests.get(target, "/"), context, null); final SimpleHttpResponse response = future.get(); Assert.assertNotNull(response); Assert.assertEquals(HttpStatus.SC_OK, response.getCode()); diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncFundamentalsTest.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncFundamentalsTest.java index 4c8882e5b..b90d858bf 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncFundamentalsTest.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncFundamentalsTest.java @@ -66,7 +66,7 @@ public void testSequenctialGetRequests() throws Exception { final HttpHost target = start(); for (int i = 0; i < 3; i++) { final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/random/2048"), null); + SimpleHttpRequests.get(target, "/random/2048"), null); final SimpleHttpResponse response = future.get(); Assert.assertThat(response, CoreMatchers.notNullValue()); Assert.assertThat(response.getCode(), CoreMatchers.equalTo(200)); @@ -81,7 +81,7 @@ public void testSequenctialHeadRequests() throws Exception { final HttpHost target = start(); for (int i = 0; i < 3; i++) { final Future future = httpclient.execute( - SimpleHttpRequests.HEAD.create(target, "/random/2048"), null); + SimpleHttpRequests.head(target, "/random/2048"), null); final SimpleHttpResponse response = future.get(); Assert.assertThat(response, CoreMatchers.notNullValue()); Assert.assertThat(response.getCode(), CoreMatchers.equalTo(200)); @@ -154,7 +154,7 @@ public void completed(final SimpleHttpResponse result) { try { resultQueue.add(result); if (count.decrementAndGet() > 0) { - httpclient.execute(SimpleHttpRequests.GET.create(target, "/random/2048"), this); + httpclient.execute(SimpleHttpRequests.get(target, "/random/2048"), this); } } finally { countDownLatch.countDown(); @@ -180,7 +180,7 @@ public void cancelled() { @Override public void run() { if (!Thread.currentThread().isInterrupted()) { - httpclient.execute(SimpleHttpRequests.GET.create(target, "/random/2048"), callback); + httpclient.execute(SimpleHttpRequests.get(target, "/random/2048"), callback); } } @@ -205,10 +205,10 @@ public void run() { public void testBadRequest() throws Exception { final HttpHost target = start(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/random/boom"), null); + SimpleHttpRequests.get(target, "/random/boom"), null); final SimpleHttpResponse response = future.get(); Assert.assertThat(response, CoreMatchers.notNullValue()); Assert.assertThat(response.getCode(), CoreMatchers.equalTo(400)); } -} \ No newline at end of file +} diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncRedirectsTest.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncRedirectsTest.java index a1673c417..1a11fb47a 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncRedirectsTest.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncRedirectsTest.java @@ -217,7 +217,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -241,7 +241,7 @@ public AsyncServerExchangeHandler get() { final HttpHost target = start(); final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -265,7 +265,7 @@ public AsyncServerExchangeHandler get() { final HttpHost target = start(); final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -297,7 +297,7 @@ protected SimpleHttpResponse handle( final HttpHost target = start(); final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -320,7 +320,7 @@ public AsyncServerExchangeHandler get() { final HttpHost target = start(); final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -344,7 +344,7 @@ public AsyncServerExchangeHandler get() { final HttpHost target = start(); final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -367,7 +367,7 @@ public AsyncServerExchangeHandler get() { final HttpHost target = start(); final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -390,7 +390,7 @@ public AsyncServerExchangeHandler get() { final HttpHost target = start(); final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -417,7 +417,7 @@ public AsyncServerExchangeHandler get() { .setCircularRedirectsAllowed(true) .setMaxRedirects(5).build(); try { - final SimpleHttpRequest request = SimpleHttpRequests.GET.create(target, "/circular-oldlocation/"); + final SimpleHttpRequest request = SimpleHttpRequests.get(target, "/circular-oldlocation/"); request.setConfig(config); final Future future = httpclient.execute(request, null); future.get(); @@ -443,7 +443,7 @@ public AsyncServerExchangeHandler get() { .setCircularRedirectsAllowed(false) .build(); try { - final SimpleHttpRequest request = SimpleHttpRequests.GET.create(target, "/circular-oldlocation/"); + final SimpleHttpRequest request = SimpleHttpRequests.get(target, "/circular-oldlocation/"); request.setConfig(config); final Future future = httpclient.execute(request, null); future.get(); @@ -467,7 +467,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); - final SimpleHttpRequest post = SimpleHttpRequests.POST.create(target, "/oldlocation/"); + final SimpleHttpRequest post = SimpleHttpRequests.post(target, "/oldlocation/"); post.setBodyText("stuff", ContentType.TEXT_PLAIN); final Future future = httpclient.execute(post, context, null); final HttpResponse response = future.get(); @@ -495,7 +495,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -521,7 +521,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/test/oldlocation"), context, null); + SimpleHttpRequests.get(target, "/test/oldlocation"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -579,7 +579,7 @@ public AsyncServerExchangeHandler get() { try { final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), null); + SimpleHttpRequests.get(target, "/oldlocation/"), null); future.get(); } catch (final ExecutionException ex) { Assert.assertTrue(ex.getCause() instanceof HttpException); @@ -601,7 +601,7 @@ public AsyncServerExchangeHandler get() { try { final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), null); + SimpleHttpRequests.get(target, "/oldlocation/"), null); future.get(); } catch (final ExecutionException e) { Assert.assertTrue(e.getCause() instanceof ProtocolException); @@ -632,7 +632,7 @@ public AsyncServerExchangeHandler get() { cookieStore.addCookie(cookie); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -711,7 +711,7 @@ public AsyncServerExchangeHandler get() { final Queue> queue = new ConcurrentLinkedQueue<>(); for (int i = 0; i < 1; i++) { - queue.add(httpclient.execute(SimpleHttpRequests.GET.create(initialTarget, "/redirect/anywhere"), null)); + queue.add(httpclient.execute(SimpleHttpRequests.get(initialTarget, "/redirect/anywhere"), null)); } while (!queue.isEmpty()) { final Future future = queue.remove(); @@ -763,12 +763,12 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future1 = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/rome"), context, null); + SimpleHttpRequests.get(target, "/rome"), context, null); final HttpResponse response1 = future1.get(); Assert.assertNotNull(response1); final Future future2 = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/rome"), context, null); + SimpleHttpRequests.get(target, "/rome"), context, null); final HttpResponse response2 = future2.get(); Assert.assertNotNull(response2); @@ -794,12 +794,12 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future1 = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/lille"), context, null); + SimpleHttpRequests.get(target, "/lille"), context, null); final HttpResponse response1 = future1.get(); Assert.assertNotNull(response1); final Future future2 = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/lille"), context, null); + SimpleHttpRequests.get(target, "/lille"), context, null); final HttpResponse response2 = future2.get(); Assert.assertNotNull(response2); @@ -825,12 +825,12 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future1 = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/alian"), context, null); + SimpleHttpRequests.get(target, "/alian"), context, null); final HttpResponse response1 = future1.get(); Assert.assertNotNull(response1); final Future future2 = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/lille"), context, null); + SimpleHttpRequests.get(target, "/lille"), context, null); final HttpResponse response2 = future2.get(); Assert.assertNotNull(response2); @@ -842,4 +842,4 @@ public AsyncServerExchangeHandler get() { Assert.assertEquals(target, new HttpHost(request.getScheme(), request.getAuthority())); } -} \ No newline at end of file +} diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java index 96b7be3fc..cfa374932 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java @@ -121,7 +121,7 @@ public HttpHost start() throws Exception { public void testSequenctialGetRequestsCloseConnection() throws Exception { final HttpHost target = start(); for (int i = 0; i < 3; i++) { - final SimpleHttpRequest get = SimpleHttpRequests.GET.create(target, "/random/2048"); + final SimpleHttpRequest get = SimpleHttpRequests.get(target, "/random/2048"); get.setHeader(HttpHeaders.CONNECTION, HeaderElements.CLOSE); final Future future = httpclient.execute(get, null); final SimpleHttpResponse response = future.get(); @@ -151,7 +151,7 @@ public void testConcurrentPostsOverSingleConnection() throws Exception { public void testSharedPool() throws Exception { final HttpHost target = start(); final Future future1 = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/random/2048"), null); + SimpleHttpRequests.get(target, "/random/2048"), null); final SimpleHttpResponse response1 = future1.get(); Assert.assertThat(response1, CoreMatchers.notNullValue()); Assert.assertThat(response1.getCode(), CoreMatchers.equalTo(200)); @@ -166,7 +166,7 @@ public void testSharedPool() throws Exception { .build()) { httpclient2.start(); final Future future2 = httpclient2.execute( - SimpleHttpRequests.GET.create(target, "/random/2048"), null); + SimpleHttpRequests.get(target, "/random/2048"), null); final SimpleHttpResponse response2 = future2.get(); Assert.assertThat(response2, CoreMatchers.notNullValue()); Assert.assertThat(response2.getCode(), CoreMatchers.equalTo(200)); @@ -176,7 +176,7 @@ public void testSharedPool() throws Exception { } final Future future3 = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/random/2048"), null); + SimpleHttpRequests.get(target, "/random/2048"), null); final SimpleHttpResponse response3 = future3.get(); Assert.assertThat(response3, CoreMatchers.notNullValue()); Assert.assertThat(response3.getCode(), CoreMatchers.equalTo(200)); diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java index b6db089bf..2992c45cc 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java @@ -179,7 +179,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -203,7 +203,7 @@ public AsyncServerExchangeHandler get() { final HttpHost target = start(); final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -234,7 +234,7 @@ public AsyncServerExchangeHandler get() { final HttpClientContext context = HttpClientContext.create(); final Future future = httpclient.execute( - SimpleHttpRequests.GET.create(target, "/oldlocation/"), context, null); + SimpleHttpRequests.get(target, "/oldlocation/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); @@ -247,4 +247,4 @@ public AsyncServerExchangeHandler get() { Assert.assertEquals("my-test-client", header.getValue()); } -} \ No newline at end of file +} diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java index 553dcb967..83eb58278 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java @@ -216,7 +216,7 @@ public void run() { try { context.setAttribute("user", uid); for (int r = 0; r < requestCount; r++) { - final SimpleHttpRequest httpget = SimpleHttpRequests.GET.create(target, "/"); + final SimpleHttpRequest httpget = SimpleHttpRequests.get(target, "/"); final Future future = httpclient.execute(httpget, null); future.get(); @@ -277,7 +277,7 @@ public Object getUserToken(final HttpRoute route, final HttpContext context) { final HttpContext context1 = new BasicHttpContext(); context1.setAttribute("user", "stuff"); - final Future future1 = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context1, null); + final Future future1 = httpclient.execute(SimpleHttpRequests.get(target, "/"), context1, null); final HttpResponse response1 = future1.get(); Assert.assertNotNull(response1); Assert.assertEquals(200, response1.getCode()); @@ -292,7 +292,7 @@ public Object getUserToken(final HttpRoute route, final HttpContext context) { // Send it to another route. Must be a keepalive. final HttpContext context2 = new BasicHttpContext(); - final Future future2 = httpclient.execute(SimpleHttpRequests.GET.create( + final Future future2 = httpclient.execute(SimpleHttpRequests.get( new HttpHost(target.getSchemeName(), "127.0.0.1", target.getPort()),"/"), context2, null); final HttpResponse response2 = future2.get(); Assert.assertNotNull(response2); @@ -310,10 +310,10 @@ public Object getUserToken(final HttpRoute route, final HttpContext context) { // The killed conn is the oldest, which means the first HTTPGet ([localhost][stuff]). // When this happens, the RouteSpecificPool becomes empty. final HttpContext context3 = new BasicHttpContext(); - final Future future3 = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context3, null); + final Future future3 = httpclient.execute(SimpleHttpRequests.get(target, "/"), context3, null); final HttpResponse response3 = future3.get(); Assert.assertNotNull(response3); Assert.assertEquals(200, response3.getCode()); } -} \ No newline at end of file +} diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java index 84d2b14f8..ef8167b84 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java @@ -166,7 +166,7 @@ protected void customizeUnauthorizedResponse(final HttpResponse unauthorized) { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credsProvider); - final Future future = httpclient.execute(SimpleHttpRequests.GET.create(target, "/"), context, null); + final Future future = httpclient.execute(SimpleHttpRequests.get(target, "/"), context, null); final HttpResponse response = future.get(); Assert.assertNotNull(response); diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Reactive.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Reactive.java index 15f6d2cc0..efb74a1a3 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Reactive.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Reactive.java @@ -126,7 +126,7 @@ public HttpHost start() throws Exception { public void testSequentialGetRequestsCloseConnection() throws Exception { final HttpHost target = start(); for (int i = 0; i < 3; i++) { - final SimpleHttpRequest get = SimpleHttpRequests.GET.create(target, "/random/2048"); + final SimpleHttpRequest get = SimpleHttpRequests.get(target, "/random/2048"); get.setHeader(HttpHeaders.CONNECTION, HeaderElements.CLOSE); final AsyncRequestProducer request = AsyncRequestBuilder.get(target + "/random/2048").build(); final ReactiveResponseConsumer consumer = new ReactiveResponseConsumer(); diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/external/CachingHttpAsyncClientCompatibilityTest.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/external/CachingHttpAsyncClientCompatibilityTest.java index 4f65936b6..a5d050ac5 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/external/CachingHttpAsyncClientCompatibilityTest.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/external/CachingHttpAsyncClientCompatibilityTest.java @@ -131,7 +131,7 @@ void execute() throws Exception { // Initial ping { final HttpCacheContext context = HttpCacheContext.create(); - final SimpleHttpRequest options = SimpleHttpRequests.OPTIONS.create(target, "*"); + final SimpleHttpRequest options = SimpleHttpRequests.options(target, "*"); final Future future = client.execute(options, context, null); try { final SimpleHttpResponse response = future.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -155,7 +155,7 @@ void execute() throws Exception { final Pattern linkPattern = Pattern.compile("^<(.*)>;rel=preload$"); final List links = new ArrayList<>(); - final SimpleHttpRequest getRoot1 = SimpleHttpRequests.GET.create(target, "/"); + final SimpleHttpRequest getRoot1 = SimpleHttpRequests.get(target, "/"); final Future future1 = client.execute(getRoot1, context, null); try { final SimpleHttpResponse response = future1.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -179,7 +179,7 @@ void execute() throws Exception { logResult(TestResult.NOK, getRoot1, "(time out)"); } for (final String link: links) { - final SimpleHttpRequest getLink = SimpleHttpRequests.GET.create(target, link); + final SimpleHttpRequest getLink = SimpleHttpRequests.get(target, link); final Future linkFuture = client.execute(getLink, context, null); try { final SimpleHttpResponse response = linkFuture.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -198,7 +198,7 @@ void execute() throws Exception { } } - final SimpleHttpRequest getRoot2 = SimpleHttpRequests.GET.create(target, "/"); + final SimpleHttpRequest getRoot2 = SimpleHttpRequests.get(target, "/"); final Future future2 = client.execute(getRoot2, context, null); try { final SimpleHttpResponse response = future2.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -216,7 +216,7 @@ void execute() throws Exception { logResult(TestResult.NOK, getRoot2, "(time out)"); } for (final String link: links) { - final SimpleHttpRequest getLink = SimpleHttpRequests.GET.create(target, link); + final SimpleHttpRequest getLink = SimpleHttpRequests.get(target, link); final Future linkFuture = client.execute(getLink, context, null); try { final SimpleHttpResponse response = linkFuture.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/external/HttpAsyncClientCompatibilityTest.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/external/HttpAsyncClientCompatibilityTest.java index 93d854c45..c8da1de61 100644 --- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/external/HttpAsyncClientCompatibilityTest.java +++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/external/HttpAsyncClientCompatibilityTest.java @@ -168,7 +168,7 @@ void execute() throws Exception { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credentialsProvider); - final SimpleHttpRequest options = SimpleHttpRequests.OPTIONS.create(target, "*"); + final SimpleHttpRequest options = SimpleHttpRequests.options(target, "*"); final Future future = client.execute(options, context, null); try { final SimpleHttpResponse response = future.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -193,7 +193,7 @@ void execute() throws Exception { final String[] requestUris = new String[] {"/", "/news.html", "/status.html"}; for (final String requestUri: requestUris) { - final SimpleHttpRequest httpGet = SimpleHttpRequests.GET.create(target, requestUri); + final SimpleHttpRequest httpGet = SimpleHttpRequests.get(target, requestUri); final Future future = client.execute(httpGet, context, null); try { final SimpleHttpResponse response = future.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -220,7 +220,7 @@ void execute() throws Exception { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credentialsProvider); - final SimpleHttpRequest httpGetSecret = SimpleHttpRequests.GET.create(target, "/private/big-secret.txt"); + final SimpleHttpRequest httpGetSecret = SimpleHttpRequests.get(target, "/private/big-secret.txt"); final Future future = client.execute(httpGetSecret, context, null); try { final SimpleHttpResponse response = future.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -246,7 +246,7 @@ void execute() throws Exception { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credentialsProvider); - final SimpleHttpRequest httpGetSecret = SimpleHttpRequests.GET.create(target, "/private/big-secret.txt"); + final SimpleHttpRequest httpGetSecret = SimpleHttpRequests.get(target, "/private/big-secret.txt"); final Future future = client.execute(httpGetSecret, context, null); try { final SimpleHttpResponse response = future.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -272,7 +272,7 @@ void execute() throws Exception { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credentialsProvider); - final SimpleHttpRequest httpGetSecret = SimpleHttpRequests.GET.create(target, "/private/big-secret.txt"); + final SimpleHttpRequest httpGetSecret = SimpleHttpRequests.get(target, "/private/big-secret.txt"); final Future future = client.execute(httpGetSecret, context, null); try { final SimpleHttpResponse response = future.get(TIMEOUT.getDuration(), TIMEOUT.getTimeUnit()); @@ -299,7 +299,7 @@ void execute() throws Exception { final HttpClientContext context = HttpClientContext.create(); context.setCredentialsProvider(credentialsProvider); - final SimpleHttpRequest httpGetSecret = SimpleHttpRequests.GET.create(target, "/private/big-secret.txt"); + final SimpleHttpRequest httpGetSecret = SimpleHttpRequests.get(target, "/private/big-secret.txt"); httpGetSecret.setHeader(HttpHeaders.CONNECTION, HeaderElements.CLOSE); final Future future = client.execute(httpGetSecret, context, null); try { diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/BasicHttpRequests.java b/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/BasicHttpRequests.java new file mode 100644 index 000000000..ab6b446a7 --- /dev/null +++ b/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/BasicHttpRequests.java @@ -0,0 +1,170 @@ +/* + * ==================================================================== + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * . + * + */ + +package org.apache.hc.client5.http.async.methods; + +import java.net.URI; + +import org.apache.hc.core5.http.HttpHost; +import org.apache.hc.core5.http.Method; +import org.apache.hc.core5.http.message.BasicHttpRequest; + +/** + * Common HTTP methods using {@link BasicHttpRequest} as a HTTP request message representation. + * + * @since 5.0 + */ +public final class BasicHttpRequests { + + public static BasicHttpRequest delete(final String uri) { + return delete(URI.create(uri)); + } + + public static BasicHttpRequest delete(final URI uri) { + return create(Method.DELETE, uri); + } + + public static BasicHttpRequest delete(final HttpHost host, final String path) { + return create(Method.DELETE, host, path); + } + + public static BasicHttpRequest get(final String uri) { + return get(URI.create(uri)); + } + + public static BasicHttpRequest get(final URI uri) { + return create(Method.GET, uri); + } + + public static BasicHttpRequest get(final HttpHost host, final String path) { + return create(Method.GET, host, path); + } + + public static BasicHttpRequest head(final String uri) { + return head(URI.create(uri)); + } + + public static BasicHttpRequest head(final URI uri) { + return create(Method.HEAD, uri); + } + + public static BasicHttpRequest head(final HttpHost host, final String path) { + return create(Method.HEAD, host, path); + } + + public static BasicHttpRequest options(final String uri) { + return options(URI.create(uri)); + } + + public static BasicHttpRequest options(final URI uri) { + return create(Method.OPTIONS, uri); + } + + public static BasicHttpRequest options(final HttpHost host, final String path) { + return create(Method.OPTIONS, host, path); + } + + public static BasicHttpRequest patch(final String uri) { + return patch(URI.create(uri)); + } + + public static BasicHttpRequest patch(final URI uri) { + return create(Method.PATCH, uri); + } + + public static BasicHttpRequest patch(final HttpHost host, final String path) { + return create(Method.PATCH, host, path); + } + + public static BasicHttpRequest post(final String uri) { + return post(URI.create(uri)); + } + + public static BasicHttpRequest post(final URI uri) { + return create(Method.POST, uri); + } + + public static BasicHttpRequest post(final HttpHost host, final String path) { + return create(Method.POST, host, path); + } + + public static BasicHttpRequest put(final String uri) { + return put(URI.create(uri)); + } + + public static BasicHttpRequest put(final URI uri) { + return create(Method.PUT, uri); + } + + public static BasicHttpRequest put(final HttpHost host, final String path) { + return create(Method.PUT, host, path); + } + + public static BasicHttpRequest trace(final String uri) { + return trace(URI.create(uri)); + } + + public static BasicHttpRequest trace(final URI uri) { + return create(Method.TRACE, uri); + } + + public static BasicHttpRequest trace(final HttpHost host, final String path) { + return create(Method.TRACE, host, path); + } + + /** + * Creates a request object of the exact subclass of {@link BasicHttpRequest}. + * + * @param uri a non-null URI String. + * @return a new subclass of BasicHttpRequest + */ + public static BasicHttpRequest create(final Method method, final String uri) { + return create(method, URI.create(uri)); + } + + /** + * Creates a request object of the exact subclass of {@link BasicHttpRequest}. + * + * @param uri a non-null URI. + * @return a new subclass of BasicHttpRequest + */ + public static BasicHttpRequest create(final Method method, final URI uri) { + return new BasicHttpRequest(method, uri); + } + + /** + * Creates a request object of the exact subclass of {@link BasicHttpRequest}. + * + * @param host HTTP host. + * @param path request path. + * @return a new subclass of BasicHttpRequest + */ + public static BasicHttpRequest create(final Method method, final HttpHost host, final String path) { + return new BasicHttpRequest(method, host, path); + } + +} diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/HttpRequests.java b/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/HttpRequests.java deleted file mode 100644 index 46e3779fd..000000000 --- a/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/HttpRequests.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * ==================================================================== - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * . - * - */ - -package org.apache.hc.client5.http.async.methods; - -import java.net.URI; - -import org.apache.hc.core5.http.HttpHost; -import org.apache.hc.core5.http.Method; -import org.apache.hc.core5.http.message.BasicHttpRequest; - -/** - * Common HTTP methods using {@link BasicHttpRequest} as a HTTP request message representation. - * - * @since 5.0 - */ -public enum HttpRequests { - - DELETE { - @Override - public BasicHttpRequest create(final URI uri) { - return new BasicHttpRequest(Method.DELETE, uri); - } - - @Override - public BasicHttpRequest create(final HttpHost host, final String path) { - return new BasicHttpRequest(Method.DELETE, host, path); - } - }, - - GET { - @Override - public BasicHttpRequest create(final URI uri) { - return new BasicHttpRequest(Method.GET, uri); - } - - @Override - public BasicHttpRequest create(final HttpHost host, final String path) { - return new BasicHttpRequest(Method.GET, host, path); - } - }, - - HEAD { - @Override - public BasicHttpRequest create(final URI uri) { - return new BasicHttpRequest(Method.HEAD, uri); - } - - @Override - public BasicHttpRequest create(final HttpHost host, final String path) { - return new BasicHttpRequest(Method.HEAD, host, path); - } - }, - - OPTIONS { - @Override - public BasicHttpRequest create(final URI uri) { - return new BasicHttpRequest(Method.OPTIONS, uri); - } - - @Override - public BasicHttpRequest create(final HttpHost host, final String path) { - return new BasicHttpRequest(Method.OPTIONS, host, path); - } - }, - - PATCH { - @Override - public BasicHttpRequest create(final URI uri) { - return new BasicHttpRequest(Method.PATCH, uri); - } - - @Override - public BasicHttpRequest create(final HttpHost host, final String path) { - return new BasicHttpRequest(Method.PATCH, host, path); - } - }, - - POST { - @Override - public BasicHttpRequest create(final URI uri) { - return new BasicHttpRequest(Method.POST, uri); - } - - @Override - public BasicHttpRequest create(final HttpHost host, final String path) { - return new BasicHttpRequest(Method.POST, host, path); - } - }, - - PUT { - @Override - public BasicHttpRequest create(final URI uri) { - return new BasicHttpRequest(Method.PUT, uri); - } - - @Override - public BasicHttpRequest create(final HttpHost host, final String path) { - return new BasicHttpRequest(Method.PUT, host, path); - } - }, - - TRACE { - @Override - public BasicHttpRequest create(final URI uri) { - return new BasicHttpRequest(Method.TRACE, uri); - } - - @Override - public BasicHttpRequest create(final HttpHost host, final String path) { - return new BasicHttpRequest(Method.TRACE, host, path); - } - }; - - /** - * Creates a request object of the exact subclass of {@link BasicHttpRequest}. - * - * @param uri a non-null URI String. - * @return a new subclass of BasicHttpRequest - */ - public BasicHttpRequest create(final String uri) { - return create(URI.create(uri)); - } - - /** - * Creates a request object of the exact subclass of {@link BasicHttpRequest}. - * - * @param uri a non-null URI. - * @return a new subclass of BasicHttpRequest - */ - public abstract BasicHttpRequest create(URI uri); - - /** - * Creates a request object of the exact subclass of {@link BasicHttpRequest}. - * - * @param host HTTP host. - * @param path request path. - * @return a new subclass of BasicHttpRequest - */ - public abstract BasicHttpRequest create(final HttpHost host, final String path); - -} diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/SimpleHttpRequests.java b/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/SimpleHttpRequests.java index d04aa4827..050f373c9 100644 --- a/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/SimpleHttpRequests.java +++ b/httpclient5/src/main/java/org/apache/hc/client5/http/async/methods/SimpleHttpRequests.java @@ -37,103 +37,103 @@ * * @since 5.0 */ -public enum SimpleHttpRequests { +public final class SimpleHttpRequests { - DELETE { - @Override - public SimpleHttpRequest create(final URI uri) { - return new SimpleHttpRequest(Method.DELETE, uri); - } + public static SimpleHttpRequest delete(final String uri) { + return delete(URI.create(uri)); + } - @Override - public SimpleHttpRequest create(final HttpHost host, final String path) { - return new SimpleHttpRequest(Method.DELETE, host, path); - } - }, + public static SimpleHttpRequest delete(final URI uri) { + return create(Method.DELETE, uri); + } - GET { - @Override - public SimpleHttpRequest create(final URI uri) { - return new SimpleHttpRequest(Method.GET, uri); - } + public static SimpleHttpRequest delete(final HttpHost host, final String path) { + return create(Method.DELETE, host, path); + } - @Override - public SimpleHttpRequest create(final HttpHost host, final String path) { - return new SimpleHttpRequest(Method.GET, host, path); - } - }, + public static SimpleHttpRequest get(final String uri) { + return get(URI.create(uri)); + } - HEAD { - @Override - public SimpleHttpRequest create(final URI uri) { - return new SimpleHttpRequest(Method.HEAD, uri); - } + public static SimpleHttpRequest get(final URI uri) { + return create(Method.GET, uri); + } - @Override - public SimpleHttpRequest create(final HttpHost host, final String path) { - return new SimpleHttpRequest(Method.HEAD, host, path); - } - }, + public static SimpleHttpRequest get(final HttpHost host, final String path) { + return create(Method.GET, host, path); + } - OPTIONS { - @Override - public SimpleHttpRequest create(final URI uri) { - return new SimpleHttpRequest(Method.OPTIONS, uri); - } + public static SimpleHttpRequest head(final String uri) { + return head(URI.create(uri)); + } - @Override - public SimpleHttpRequest create(final HttpHost host, final String path) { - return new SimpleHttpRequest(Method.OPTIONS, host, path); - } - }, + public static SimpleHttpRequest head(final URI uri) { + return create(Method.HEAD, uri); + } - PATCH { - @Override - public SimpleHttpRequest create(final URI uri) { - return new SimpleHttpRequest(Method.PATCH, uri); - } + public static SimpleHttpRequest head(final HttpHost host, final String path) { + return create(Method.HEAD, host, path); + } - @Override - public SimpleHttpRequest create(final HttpHost host, final String path) { - return new SimpleHttpRequest(Method.PATCH, host, path); - } - }, + public static SimpleHttpRequest options(final String uri) { + return options(URI.create(uri)); + } - POST { - @Override - public SimpleHttpRequest create(final URI uri) { - return new SimpleHttpRequest(Method.POST, uri); - } + public static SimpleHttpRequest options(final URI uri) { + return create(Method.OPTIONS, uri); + } - @Override - public SimpleHttpRequest create(final HttpHost host, final String path) { - return new SimpleHttpRequest(Method.POST, host, path); - } - }, + public static SimpleHttpRequest options(final HttpHost host, final String path) { + return create(Method.OPTIONS, host, path); + } - PUT { - @Override - public SimpleHttpRequest create(final URI uri) { - return new SimpleHttpRequest(Method.PUT, uri); - } + public static SimpleHttpRequest patch(final String uri) { + return patch(URI.create(uri)); + } - @Override - public SimpleHttpRequest create(final HttpHost host, final String path) { - return new SimpleHttpRequest(Method.PUT, host, path); - } - }, + public static SimpleHttpRequest patch(final URI uri) { + return create(Method.PATCH, uri); + } - TRACE { - @Override - public SimpleHttpRequest create(final URI uri) { - return new SimpleHttpRequest(Method.TRACE, uri); - } + public static SimpleHttpRequest patch(final HttpHost host, final String path) { + return create(Method.PATCH, host, path); + } - @Override - public SimpleHttpRequest create(final HttpHost host, final String path) { - return new SimpleHttpRequest(Method.TRACE, host, path); - } - }; + public static SimpleHttpRequest post(final String uri) { + return post(URI.create(uri)); + } + + public static SimpleHttpRequest post(final URI uri) { + return create(Method.POST, uri); + } + + public static SimpleHttpRequest post(final HttpHost host, final String path) { + return create(Method.POST, host, path); + } + + public static SimpleHttpRequest put(final String uri) { + return put(URI.create(uri)); + } + + public static SimpleHttpRequest put(final URI uri) { + return create(Method.PUT, uri); + } + + public static SimpleHttpRequest put(final HttpHost host, final String path) { + return create(Method.PUT, host, path); + } + + public static SimpleHttpRequest trace(final String uri) { + return trace(URI.create(uri)); + } + + public static SimpleHttpRequest trace(final URI uri) { + return create(Method.TRACE, uri); + } + + public static SimpleHttpRequest trace(final HttpHost host, final String path) { + return create(Method.TRACE, host, path); + } /** * Creates a request object of the exact subclass of {@link SimpleHttpRequest}. @@ -141,8 +141,8 @@ public SimpleHttpRequest create(final HttpHost host, final String path) { * @param uri a non-null URI String. * @return a new subclass of SimpleHttpRequest */ - public SimpleHttpRequest create(final String uri) { - return create(URI.create(uri)); + public static SimpleHttpRequest create(final Method method, final String uri) { + return create(method, URI.create(uri)); } /** @@ -151,7 +151,9 @@ public SimpleHttpRequest create(final String uri) { * @param uri a non-null URI. * @return a new subclass of SimpleHttpRequest */ - public abstract SimpleHttpRequest create(URI uri); + public static SimpleHttpRequest create(final Method method, final URI uri) { + return new SimpleHttpRequest(method, uri); + } /** * Creates a request object of the exact subclass of {@link SimpleHttpRequest}. @@ -160,6 +162,8 @@ public SimpleHttpRequest create(final String uri) { * @param path request path. * @return a new subclass of SimpleHttpRequest */ - public abstract SimpleHttpRequest create(final HttpHost host, final String path); + public static SimpleHttpRequest create(final Method method, final HttpHost host, final String path) { + return new SimpleHttpRequest(method, host, path); + } } diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/classic/methods/ClassicHttpRequests.java b/httpclient5/src/main/java/org/apache/hc/client5/http/classic/methods/ClassicHttpRequests.java index 0d25a64a2..5f3a0a076 100644 --- a/httpclient5/src/main/java/org/apache/hc/client5/http/classic/methods/ClassicHttpRequests.java +++ b/httpclient5/src/main/java/org/apache/hc/client5/http/classic/methods/ClassicHttpRequests.java @@ -32,85 +32,76 @@ /** * Common HTTP methods using {@link HttpUriRequest} as a HTTP request message representation. + *

+ * Each static method creates a request object of the exact subclass of {@link HttpUriRequest} + * with a non-null URI. * * @since 5.0 */ -public enum ClassicHttpRequests { +public final class ClassicHttpRequests { - DELETE { - @Override - public HttpUriRequest create(final URI uri) { - return new HttpDelete(uri); - } - }, - - GET { - @Override - public HttpUriRequest create(final URI uri) { - return new HttpGet(uri); - } - }, - - HEAD { - @Override - public HttpUriRequest create(final URI uri) { - return new HttpHead(uri); - } - }, - - OPTIONS { - @Override - public HttpUriRequest create(final URI uri) { - return new HttpOptions(uri); - } - }, - - PATCH { - @Override - public HttpUriRequest create(final URI uri) { - return new HttpPatch(uri); - } - }, - - POST { - @Override - public HttpUriRequest create(final URI uri) { - return new HttpPost(uri); - } - }, - - PUT { - @Override - public HttpUriRequest create(final URI uri) { - return new HttpPut(uri); - } - }, - - TRACE { - @Override - public HttpUriRequest create(final URI uri) { - return new HttpTrace(uri); - } - }; - - /** - * Creates a request object of the exact subclass of {@link HttpUriRequest}. - * - * @param uri - * a non-null URI String. - * @return a new subclass of HttpUriRequest - */ - public HttpUriRequest create(final String uri) { - return create(URI.create(uri)); + public static HttpUriRequest delete(final String uri) { + return delete(URI.create(uri)); } - /** - * Creates a request object of the exact subclass of {@link HttpUriRequest}. - * - * @param uri - * a non-null URI. - * @return a new subclass of HttpUriRequest - */ - public abstract HttpUriRequest create(URI uri); + public static HttpUriRequest delete(final URI uri) { + return new HttpDelete(uri); + } + + public static HttpUriRequest get(final String uri) { + return get(URI.create(uri)); + } + + public static HttpUriRequest get(final URI uri) { + return new HttpGet(uri); + } + + public static HttpUriRequest head(final String uri) { + return head(URI.create(uri)); + } + + public static HttpUriRequest head(final URI uri) { + return new HttpHead(uri); + } + + public static HttpUriRequest options(final String uri) { + return options(URI.create(uri)); + } + + public static HttpUriRequest options(final URI uri) { + return new HttpOptions(uri); + } + + public static HttpUriRequest patch(final String uri) { + return patch(URI.create(uri)); + } + + public static HttpUriRequest patch(final URI uri) { + return new HttpPatch(uri); + } + + public static HttpUriRequest post(final String uri) { + return post(URI.create(uri)); + } + + public static HttpUriRequest post(final URI uri) { + return new HttpPost(uri); + } + + public static HttpUriRequest put(final String uri) { + return put(URI.create(uri)); + } + + public static HttpUriRequest put(final URI uri) { + return new HttpPut(uri); + } + + public static HttpUriRequest trace(final String uri) { + return trace(URI.create(uri)); + } + + public static HttpUriRequest trace(final URI uri) { + return new HttpTrace(uri); + } } diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/async/methods/TestHttpRequests.java b/httpclient5/src/test/java/org/apache/hc/client5/http/async/methods/TestBasicHttpRequests.java similarity index 70% rename from httpclient5/src/test/java/org/apache/hc/client5/http/async/methods/TestHttpRequests.java rename to httpclient5/src/test/java/org/apache/hc/client5/http/async/methods/TestBasicHttpRequests.java index 0eed29bc5..a1b00801d 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/async/methods/TestHttpRequests.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/async/methods/TestBasicHttpRequests.java @@ -27,6 +27,7 @@ package org.apache.hc.client5.http.async.methods; +import java.lang.reflect.Method; import java.net.URI; import java.util.Arrays; @@ -39,7 +40,7 @@ import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) -public class TestHttpRequests { +public class TestBasicHttpRequests { private static final URI URI_FIXTURE = URI.create("http://localhost"); @@ -47,30 +48,32 @@ public class TestHttpRequests { public static Iterable data() { return Arrays.asList(new Object[][] { // @formatter:off - { HttpRequests.DELETE, "DELETE" }, - { HttpRequests.GET, "GET" }, - { HttpRequests.HEAD, "HEAD" }, - { HttpRequests.OPTIONS, "OPTIONS" }, - { HttpRequests.PATCH, "PATCH" }, - { HttpRequests.POST, "POST" }, - { HttpRequests.PUT, "PUT" } + { "delete", "DELETE" }, + { "get", "GET" }, + { "head", "HEAD" }, + { "options", "OPTIONS" }, + { "patch", "PATCH" }, + { "post", "POST" }, + { "put", "PUT" }, + { "trace", "TRACE" } // @formatter:on }); } - private final HttpRequests httpRequest; + private final String methodName; private final String expectedMethod; - public TestHttpRequests(final HttpRequests classicHttpRequests, final String expectedMethod) { - this.httpRequest = classicHttpRequests; + public TestBasicHttpRequests(final String methodName, final String expectedMethod) { + this.methodName = methodName; this.expectedMethod = expectedMethod; } @Test - public void testCreateClassicHttpRequest() { - final HttpRequest classicHttpRequest = httpRequest.create(URI_FIXTURE); - Assert.assertEquals(BasicHttpRequest.class, classicHttpRequest.getClass()); - Assert.assertEquals(expectedMethod, classicHttpRequest.getMethod()); + public void testCreateClassicHttpRequest() throws Exception { + final Method httpMethod = BasicHttpRequests.class.getMethod(methodName, URI.class); + final HttpRequest basicHttpRequest = (HttpRequest) httpMethod.invoke(null, URI_FIXTURE); + Assert.assertEquals(BasicHttpRequest.class, basicHttpRequest.getClass()); + Assert.assertEquals(expectedMethod, basicHttpRequest.getMethod()); } } diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/classic/methods/TestClassicHttpRequests.java b/httpclient5/src/test/java/org/apache/hc/client5/http/classic/methods/TestClassicHttpRequests.java index 78218a395..7996cddac 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/classic/methods/TestClassicHttpRequests.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/classic/methods/TestClassicHttpRequests.java @@ -27,6 +27,7 @@ package org.apache.hc.client5.http.classic.methods; +import java.lang.reflect.Method; import java.net.URI; import java.util.Arrays; @@ -47,36 +48,39 @@ public class TestClassicHttpRequests { public static Iterable data() { return Arrays.asList(new Object[][] { // @formatter:off - { ClassicHttpRequests.DELETE, HttpDelete.class }, - { ClassicHttpRequests.GET, HttpGet.class }, - { ClassicHttpRequests.HEAD, HttpHead.class }, - { ClassicHttpRequests.OPTIONS, HttpOptions.class }, - { ClassicHttpRequests.PATCH, HttpPatch.class }, - { ClassicHttpRequests.POST, HttpPost.class }, - { ClassicHttpRequests.PUT, HttpPut.class } + { "delete", HttpDelete.class }, + { "get", HttpGet.class }, + { "head", HttpHead.class }, + { "options", HttpOptions.class }, + { "patch", HttpPatch.class }, + { "post", HttpPost.class }, + { "put", HttpPut.class }, + { "trace", HttpTrace.class } // @formatter:on }); } - private final ClassicHttpRequests classicHttpRequests; + private final String methodName; private final Class expectedClass; - public TestClassicHttpRequests(final ClassicHttpRequests classicHttpRequests, + public TestClassicHttpRequests(final String methodName, final Class expectedClass) { - this.classicHttpRequests = classicHttpRequests; + this.methodName = methodName; this.expectedClass = expectedClass; } @Test - public void testCreateFromString() { - Assert.assertEquals(expectedClass, - classicHttpRequests.create(URI_STRING_FIXTURE).getClass()); + public void testCreateFromString() throws Exception { + final Method httpMethod = ClassicHttpRequests.class.getMethod(methodName, String.class); + Assert.assertEquals(expectedClass, + httpMethod.invoke(null, URI_STRING_FIXTURE).getClass()); } @Test - public void testCreateFromURI() { + public void testCreateFromURI() throws Exception { + final Method httpMethod = ClassicHttpRequests.class.getMethod(methodName, URI.class); Assert.assertEquals(expectedClass, - classicHttpRequests.create(URI_FIXTURE).getClass()); + httpMethod.invoke(null, URI_FIXTURE).getClass()); } } diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientAuthentication.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientAuthentication.java index 8925ace3c..f53270ce7 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientAuthentication.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientAuthentication.java @@ -56,7 +56,7 @@ public static void main(final String[] args) throws Exception { httpclient.start(); final String requestUri = "http://httpbin.org/basic-auth/user/passwd"; - final SimpleHttpRequest httpget = SimpleHttpRequests.GET.create(requestUri); + final SimpleHttpRequest httpget = SimpleHttpRequests.get(requestUri); System.out.println("Executing request " + requestUri); final Future future = httpclient.execute( diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientConnectionEviction.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientConnectionEviction.java index 543f1859d..6cae7ef7f 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientConnectionEviction.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientConnectionEviction.java @@ -65,7 +65,7 @@ public static void main(final String[] args) throws Exception { final HttpHost target = new HttpHost("httpbin.org"); - final SimpleHttpRequest request = SimpleHttpRequests.GET.create(target, "/"); + final SimpleHttpRequest request = SimpleHttpRequests.get(target, "/"); final Future future1 = client.execute( SimpleRequestProducer.create(request), SimpleResponseConsumer.create(), diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientCustomSSL.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientCustomSSL.java index 8184adca4..4cc86aae2 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientCustomSSL.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientCustomSSL.java @@ -101,7 +101,7 @@ public TlsDetails create(final SSLEngine sslEngine) { final String requestUri = "/"; final HttpClientContext clientContext = HttpClientContext.create(); - final SimpleHttpRequest request = SimpleHttpRequests.GET.create(target, requestUri); + final SimpleHttpRequest request = SimpleHttpRequests.get(target, requestUri); final Future future = client.execute( SimpleRequestProducer.create(request), SimpleResponseConsumer.create(), diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientH2Multiplexing.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientH2Multiplexing.java index 94c3a67b4..ef3cc572f 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientH2Multiplexing.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientH2Multiplexing.java @@ -71,7 +71,7 @@ public static void main(final String[] args) throws Exception { final CountDownLatch latch = new CountDownLatch(requestUris.length); for (final String requestUri: requestUris) { - final SimpleHttpRequest request = SimpleHttpRequests.GET.create(target, requestUri); + final SimpleHttpRequest request = SimpleHttpRequests.get(target, requestUri); endpoint.execute( SimpleRequestProducer.create(request), SimpleResponseConsumer.create(), diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientHttp1Pipelining.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientHttp1Pipelining.java index 0b1f3c7f4..354f055d5 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientHttp1Pipelining.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientHttp1Pipelining.java @@ -70,7 +70,7 @@ public static void main(final String[] args) throws Exception { final CountDownLatch latch = new CountDownLatch(requestUris.length); for (final String requestUri: requestUris) { - final SimpleHttpRequest request = SimpleHttpRequests.GET.create(target, requestUri); + final SimpleHttpRequest request = SimpleHttpRequests.get(target, requestUri); endpoint.execute( SimpleRequestProducer.create(request), SimpleResponseConsumer.create(), diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientHttpExchange.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientHttpExchange.java index ff96d024f..0d5ee908c 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientHttpExchange.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientHttpExchange.java @@ -60,7 +60,7 @@ public static void main(final String[] args) throws Exception { final String[] requestUris = new String[] {"/", "/ip", "/user-agent", "/headers"}; for (final String requestUri: requestUris) { - final SimpleHttpRequest httpget = SimpleHttpRequests.GET.create(target, requestUri); + final SimpleHttpRequest httpget = SimpleHttpRequests.get(target, requestUri); System.out.println("Executing request " + httpget.getMethod() + " " + httpget.getUri()); final Future future = client.execute( httpget, diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientInterceptors.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientInterceptors.java index 3f2255ce1..d7d4662d7 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientInterceptors.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientInterceptors.java @@ -123,7 +123,7 @@ public void execute( final String requestUri = "http://httpbin.org/get"; for (int i = 0; i < 20; i++) { - final SimpleHttpRequest httpget = SimpleHttpRequests.GET.create(requestUri); + final SimpleHttpRequest httpget = SimpleHttpRequests.get(requestUri); System.out.println("Executing request " + httpget.getMethod() + " " + httpget.getUri()); final Future future = client.execute( httpget, diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientTlsAlpn.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientTlsAlpn.java index 97baeec6d..632c4427b 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientTlsAlpn.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientTlsAlpn.java @@ -83,7 +83,7 @@ public TlsDetails create(final SSLEngine sslEngine) { final String requestUri = "/httpbin/"; final HttpClientContext clientContext = HttpClientContext.create(); - final SimpleHttpRequest request = SimpleHttpRequests.GET.create(target, requestUri); + final SimpleHttpRequest request = SimpleHttpRequests.get(target, requestUri); final Future future = client.execute( SimpleRequestProducer.create(request), SimpleResponseConsumer.create(), diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncQuickStart.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncQuickStart.java index 43263a309..e237a5825 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncQuickStart.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncQuickStart.java @@ -55,7 +55,7 @@ public static void main (final String[] args) throws Exception { httpclient.start(); // Execute request - final SimpleHttpRequest request1 = SimpleHttpRequests.GET.create("http://httpbin.org/get"); + final SimpleHttpRequest request1 = SimpleHttpRequests.get("http://httpbin.org/get"); final Future future = httpclient.execute(request1, null); // and wait until response is received final SimpleHttpResponse response1 = future.get(); @@ -63,7 +63,7 @@ public static void main (final String[] args) throws Exception { // One most likely would want to use a callback for operation result final CountDownLatch latch1 = new CountDownLatch(1); - final SimpleHttpRequest request2 = SimpleHttpRequests.GET.create("http://httpbin.org/get"); + final SimpleHttpRequest request2 = SimpleHttpRequests.get("http://httpbin.org/get"); httpclient.execute(request2, new FutureCallback() { @Override @@ -148,4 +148,4 @@ public void cancelled() { } } -} \ No newline at end of file +}