From f75b796614f768f67a02f55e166cb073f267c8d3 Mon Sep 17 00:00:00 2001 From: aserkes Date: Thu, 12 Aug 2021 18:45:26 +0200 Subject: [PATCH 1/5] add possibility to use entity with http method Options in requests according to the RFC 7231 Signed-off-by: aserkes --- .../apache/connector/HttpMethodTest.java | 9 ++ .../connector/HttpMethodWithEntityTest.java | 138 ++++++++++++++++++ .../grizzly/connector/HttpMethodTest.java | 93 ++++++++++++ .../connector/BasicHelidonConnectorTest.java | 9 ++ .../jersey/jdk/connector/HttpMethodTest.java | 93 ++++++++++++ .../jersey/jetty/connector/MethodTest.java | 7 + .../HttpMethodOptionalEntityTest.java | 124 ++++++++++++++++ .../jersey/netty/connector/MethodTest.java | 7 + .../jersey/client/JerseyInvocation.java | 10 +- .../JerseyInvocationMethodEntityTest.java | 68 +++++++++ .../jersey/client/HttpMethodTest.java | 26 ++++ 11 files changed, 579 insertions(+), 5 deletions(-) create mode 100644 connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithEntityTest.java create mode 100644 connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java create mode 100644 connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java create mode 100644 connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpMethodOptionalEntityTest.java create mode 100644 core-client/src/test/java/JerseyInvocationMethodEntityTest.java create mode 100644 core-client/src/test/java/org/glassfish/jersey/client/HttpMethodTest.java diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java index 3edabeb6e4..20eea462ac 100644 --- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java +++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java @@ -42,6 +42,7 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.junit.Test; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -146,6 +147,14 @@ public void testOptions() { cr.close(); } + @Test + public void testOptionsWithEntity() { + WebTarget r = getWebTarget(); + Response response = r.request().build("OPTIONS").invoke(); + assertEquals(200, response.getStatus()); + response.close(); + } + @Test public void testGet() { WebTarget r = getWebTarget(); diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithEntityTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithEntityTest.java new file mode 100644 index 0000000000..a5a327e87d --- /dev/null +++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithEntityTest.java @@ -0,0 +1,138 @@ +package org.glassfish.jersey.apache.connector; + +import org.glassfish.jersey.client.ClientConfig; +import org.glassfish.jersey.server.ResourceConfig; +import org.glassfish.jersey.test.JerseyTest; +import org.junit.After; +import org.junit.Test; + +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.Application; +import javax.ws.rs.core.Response; + +import java.util.Arrays; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +public class HttpMethodWithEntityTest extends JerseyTest { + + private Response response; + + @After + public void clear() { + if (response != null) { + response.close(); + } + } + + @Test + public void testPut() { + try { + WebTarget r = getWebTarget(); + response = r.request().method("PUT"); + assertTrue(Arrays.asList(200, 201, 204).contains(response.getStatus())); + assertEquals("PUT", response.readEntity(String.class)); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void testDelete() { + try { + WebTarget r = getWebTarget(); + response = r.request().build("DELETE", Entity.text("DELETE")).invoke(); + assertNotEquals(400, response.getStatus()); + assertTrue(response.hasEntity()); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void testGet() { + try { + WebTarget r = getWebTarget(); + response = r.request().build("GET", Entity.text("GET")).invoke(); + assertNotEquals(400, response.getStatus()); + assertTrue(response.hasEntity()); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void testOptions() { + try { + WebTarget r = getWebTarget(); + response = r.request().build("OPTIONS").invoke(); + assertEquals(200, response.getStatus()); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void testHead() { + try { + WebTarget r = getWebTarget(); + response = r.request().build("HEAD", Entity.text("GET")).invoke(); + assertEquals(200, response.getStatus()); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Override + protected Application configure() { + return new ResourceConfig(HttpMethodResource.class); + } + + protected Client createClient() { + ClientConfig cc = new ClientConfig(); +// cc.connectorProvider(new ApacheConnectorProvider()); + return ClientBuilder.newClient(cc); + } + + private WebTarget getWebTarget(final Client client) { + return client.target(getBaseUri()).path("test"); + } + + private WebTarget getWebTarget() { + return getWebTarget(createClient()); + } + + + @Path("/test") + public static class HttpMethodResource { + @GET + public String get(String entity) { + return entity; + } + + @DELETE + public String delete(String entity) { + return entity; + } + + @PUT + public String put() { + return "PUT"; + } + } +} diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java new file mode 100644 index 0000000000..9fdd84a470 --- /dev/null +++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +package org.glassfish.jersey.grizzly.connector; + +import org.glassfish.jersey.client.ClientConfig; +import org.glassfish.jersey.server.ResourceConfig; +import org.glassfish.jersey.test.JerseyTest; +import org.junit.Test; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.Application; +import javax.ws.rs.core.Response; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/** + * Tests the Http methods. + */ +public class HttpMethodTest extends JerseyTest { + + @Override + protected Application configure() { + return new ResourceConfig(HttpMethodResource.class); + } + + protected Client createClient() { + ClientConfig cc = new ClientConfig(); + cc.connectorProvider(new GrizzlyConnectorProvider()); + return ClientBuilder.newClient(cc); + } + + private WebTarget getWebTarget(final Client client) { + return client.target(getBaseUri()).path("test"); + } + + private WebTarget getWebTarget() { + return getWebTarget(createClient()); + } + + @Path("/test") + public static class HttpMethodResource { + @GET + public String get() { + return "GET"; + } + } + + + @Test + public void testOptions() { + WebTarget r = getWebTarget(); + Response cr = r.request().options(); + assertTrue(cr.hasEntity()); + cr.close(); + } + + @Test + public void testOptionsWithEntity() { + WebTarget r = getWebTarget(); + Response response = r.request().build("OPTIONS").invoke(); + assertEquals(200, response.getStatus()); + response.close(); + } + + @Test + public void testGet() { + WebTarget r = getWebTarget(); + assertEquals("GET", r.request().get(String.class)); + + Response cr = r.request().get(); + assertTrue(cr.hasEntity()); + cr.close(); + } +} diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java index 8b42df173f..1571c9bebe 100644 --- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java +++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java @@ -55,6 +55,8 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; +import static org.junit.Assert.assertEquals; + @RunWith(Parameterized.class) public class BasicHelidonConnectorTest extends JerseyTest { @@ -305,4 +307,11 @@ public void testOneClientsTwoReqestsAsync() throws ExecutionException, Interrupt Assert.assertEquals("long", longResponse.readEntity(String.class)); } } + + @Test + public void testOptionsWithEntity() { + Response response = target("basic").path("get").request().build("OPTIONS").invoke(); + assertEquals(200, response.getStatus()); + response.close(); + } } diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java new file mode 100644 index 0000000000..092b854e64 --- /dev/null +++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0, which is available at + * http://www.eclipse.org/legal/epl-2.0. + * + * This Source Code may also be made available under the following Secondary + * Licenses when the conditions for such availability set forth in the + * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, + * version 2 with the GNU Classpath Exception, which is available at + * https://www.gnu.org/software/classpath/license.html. + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 + */ + +package org.glassfish.jersey.jdk.connector; + +import org.glassfish.jersey.client.ClientConfig; +import org.glassfish.jersey.server.ResourceConfig; +import org.glassfish.jersey.test.JerseyTest; +import org.junit.Test; + +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.Application; +import javax.ws.rs.core.Response; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/** + * Tests the Http methods. + */ +public class HttpMethodTest extends JerseyTest { + + @Override + protected Application configure() { + return new ResourceConfig(HttpMethodResource.class); + } + + protected Client createClient() { + ClientConfig cc = new ClientConfig(); + cc.connectorProvider(new JdkConnectorProvider()); + return ClientBuilder.newClient(cc); + } + + private WebTarget getWebTarget(final Client client) { + return client.target(getBaseUri()).path("test"); + } + + private WebTarget getWebTarget() { + return getWebTarget(createClient()); + } + + @Path("/test") + public static class HttpMethodResource { + @GET + public String get() { + return "GET"; + } + } + + + @Test + public void testOptions() { + WebTarget r = getWebTarget(); + Response cr = r.request().options(); + assertTrue(cr.hasEntity()); + cr.close(); + } + + @Test + public void testOptionsWithEntity() { + WebTarget r = getWebTarget(); + Response response = r.request().build("OPTIONS").invoke(); + assertEquals(200, response.getStatus()); + response.close(); + } + + @Test + public void testGet() { + WebTarget r = getWebTarget(); + assertEquals("GET", r.request().get(String.class)); + + Response cr = r.request().get(); + assertTrue(cr.hasEntity()); + cr.close(); + } +} diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java index 78393eb7bc..cf9d4ae785 100644 --- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java +++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java @@ -143,4 +143,11 @@ public void testPatch() { Response response = target(PATH).request().method("PATCH", Entity.entity("PATCH", MediaType.TEXT_PLAIN)); assertEquals("PATCH", response.readEntity(String.class)); } + + @Test + public void testOptionsWithEntity() { + Response response = target(PATH).request().build("OPTIONS").invoke(); + assertEquals(200, response.getStatus()); + response.close(); + } } diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpMethodOptionalEntityTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpMethodOptionalEntityTest.java new file mode 100644 index 0000000000..d38ad79032 --- /dev/null +++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpMethodOptionalEntityTest.java @@ -0,0 +1,124 @@ +package org.glassfish.jersey.netty.connector; + +import org.glassfish.jersey.client.ClientConfig; +import org.glassfish.jersey.server.ResourceConfig; +import org.glassfish.jersey.test.JerseyTest; +import org.junit.After; +import org.junit.Test; + +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.Application; +import javax.ws.rs.core.Response; + +import java.util.Arrays; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +public class HttpMethodOptionalEntityTest extends JerseyTest { + + private static final String PATH = "test"; + + private Response response; + + @After + public void clear() { + if (response != null) { + response.close(); + } + } + + @Test + public void testPut() { + try { + response = target(PATH).request().method("PUT"); + + assertTrue(Arrays.asList(200, 201, 204).contains(response.getStatus())); + assertEquals("PUT", response.readEntity(String.class)); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void testDelete() { + try { + response = target(PATH).request().build("DELETE", Entity.text("DELETE")).invoke(); + assertNotEquals(200, response.getStatus()); + assertTrue(response.hasEntity()); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void testGet() { + try { + response = target(PATH).request().build("GET", Entity.text("GET")).invoke(); + assertNotEquals(400, response.getStatus()); + assertTrue(response.hasEntity()); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void testOptions() { + try { + response = target(PATH).request().build("OPTIONS", Entity.text("OPTIONS")).invoke(); + assertTrue(response.hasEntity()); + assertEquals(200, response.getStatus()); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void testHead() { + try { + response = target(PATH).request().build("HEAD", Entity.text("GET")).invoke(); + assertEquals(200, response.getStatus()); + } catch (Exception e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Path("/test") + public static class HttpMethodResource { + @GET + public String get(String entity) { + return entity; + } + + @DELETE + public String delete(String entity) { + return entity; + } + + @PUT + public String put() { + return "PUT"; + } + } + + @Override + protected Application configure() { + return new ResourceConfig(HttpMethodResource.class); + } + + @Override + protected void configureClient(ClientConfig config) { + config.connectorProvider(new NettyConnectorProvider()); + } +} diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java index c37cf35ca7..50bc67a637 100644 --- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java +++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java @@ -98,4 +98,11 @@ public void testDelete() { Response response = target(PATH).request().delete(); assertEquals("DELETE", response.readEntity(String.class)); } + + @Test + public void testOptionsWithEntity() { + Response response = target(PATH).request().build("OPTIONS").invoke(); + assertEquals(200, response.getStatus()); + response.close(); + } } diff --git a/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java b/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java index f6a48d7f1e..9cb64da593 100644 --- a/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java +++ b/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java @@ -120,13 +120,13 @@ private enum EntityPresence { private static Map initializeMap() { final Map map = new HashMap<>(); - map.put("DELETE", EntityPresence.MUST_BE_NULL); - map.put("GET", EntityPresence.MUST_BE_NULL); - map.put("HEAD", EntityPresence.MUST_BE_NULL); - map.put("OPTIONS", EntityPresence.MUST_BE_NULL); + map.put("DELETE", EntityPresence.OPTIONAL); // changed + map.put("GET", EntityPresence.OPTIONAL); // changed + map.put("HEAD", EntityPresence.OPTIONAL); // changed + map.put("OPTIONS", EntityPresence.OPTIONAL); // changed map.put("PATCH", EntityPresence.MUST_BE_PRESENT); map.put("POST", EntityPresence.OPTIONAL); // we allow to post null instead of entity - map.put("PUT", EntityPresence.MUST_BE_PRESENT); + map.put("PUT", EntityPresence.OPTIONAL); // changed map.put("TRACE", EntityPresence.MUST_BE_NULL); return map; } diff --git a/core-client/src/test/java/JerseyInvocationMethodEntityTest.java b/core-client/src/test/java/JerseyInvocationMethodEntityTest.java new file mode 100644 index 0000000000..034aa9a782 --- /dev/null +++ b/core-client/src/test/java/JerseyInvocationMethodEntityTest.java @@ -0,0 +1,68 @@ +import org.junit.Test; + +import javax.ws.rs.ProcessingException; +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.WebTarget; + +import static org.junit.Assert.fail; + +public class JerseyInvocationMethodEntityTest { + + @Test + public void deleteMethodTest() { + final Client c1 = ClientBuilder.newClient(); + try { + c1.target("http://localhost:8080/myPath").request().method("DELETE", Entity.text("body")); + } catch (ProcessingException e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void getMethodTest() { + final Client c1 = ClientBuilder.newClient(); + try { + c1.target("http://localhost:8080/myPath").request().method("GET", Entity.text("body")); + } catch (ProcessingException e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void headMethodTest() { + final Client c1 = ClientBuilder.newClient(); + try { + c1.target("http://localhost:8080/myPath").request().method("HEAD", Entity.text("body")); + } catch (ProcessingException e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void optionsMethodTest() { + final Client c1 = ClientBuilder.newClient(); + try { + WebTarget target = c1.target("http://localhost:8080").path("myPath"); + target.request().method("GET"); + } catch (ProcessingException e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } + + @Test + public void putMethodTest() { + final Client c1 = ClientBuilder.newClient(); + try { + c1.target("http://localhost:8080/myPath").request().method("PUT"); + } catch (ProcessingException e) { + e.printStackTrace(); + fail("An exception is not expected. " + e.getMessage()); + } + } +} diff --git a/core-client/src/test/java/org/glassfish/jersey/client/HttpMethodTest.java b/core-client/src/test/java/org/glassfish/jersey/client/HttpMethodTest.java new file mode 100644 index 0000000000..4c2142207a --- /dev/null +++ b/core-client/src/test/java/org/glassfish/jersey/client/HttpMethodTest.java @@ -0,0 +1,26 @@ +package org.glassfish.jersey.client; + +import org.junit.After; +import org.junit.Test; + +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.client.Client; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.Application; +import javax.ws.rs.core.Response; +import java.util.Arrays; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +public class HttpMethodTest { + + +} From 855f0254db34ca8416d961fb8c89937ccac688a7 Mon Sep 17 00:00:00 2001 From: aserkes Date: Thu, 12 Aug 2021 19:49:22 +0200 Subject: [PATCH 2/5] add possibility to use entity with http method Options in requests according to the RFC 7231 Signed-off-by: aserkes --- .../apache/connector/HttpMethodTest.java | 2 +- .../connector/HttpMethodWithEntityTest.java | 138 ------------------ .../grizzly/connector/HttpMethodTest.java | 11 +- .../connector/BasicHelidonConnectorTest.java | 2 +- .../jersey/jdk/connector/HttpMethodTest.java | 2 +- .../jersey/jetty/connector/MethodTest.java | 2 +- .../HttpMethodOptionalEntityTest.java | 124 ---------------- .../jersey/netty/connector/MethodTest.java | 2 +- .../jersey/client/JerseyInvocation.java | 10 +- .../JerseyInvocationMethodEntityTest.java | 68 --------- .../jersey/client/HttpMethodTest.java | 26 ---- 11 files changed, 11 insertions(+), 376 deletions(-) delete mode 100644 connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithEntityTest.java delete mode 100644 connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpMethodOptionalEntityTest.java delete mode 100644 core-client/src/test/java/JerseyInvocationMethodEntityTest.java delete mode 100644 core-client/src/test/java/org/glassfish/jersey/client/HttpMethodTest.java diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java index 20eea462ac..54d5d943b9 100644 --- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java +++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithEntityTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithEntityTest.java deleted file mode 100644 index a5a327e87d..0000000000 --- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodWithEntityTest.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.glassfish.jersey.apache.connector; - -import org.glassfish.jersey.client.ClientConfig; -import org.glassfish.jersey.server.ResourceConfig; -import org.glassfish.jersey.test.JerseyTest; -import org.junit.After; -import org.junit.Test; - -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.client.Entity; -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.Response; - -import java.util.Arrays; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -public class HttpMethodWithEntityTest extends JerseyTest { - - private Response response; - - @After - public void clear() { - if (response != null) { - response.close(); - } - } - - @Test - public void testPut() { - try { - WebTarget r = getWebTarget(); - response = r.request().method("PUT"); - assertTrue(Arrays.asList(200, 201, 204).contains(response.getStatus())); - assertEquals("PUT", response.readEntity(String.class)); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void testDelete() { - try { - WebTarget r = getWebTarget(); - response = r.request().build("DELETE", Entity.text("DELETE")).invoke(); - assertNotEquals(400, response.getStatus()); - assertTrue(response.hasEntity()); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void testGet() { - try { - WebTarget r = getWebTarget(); - response = r.request().build("GET", Entity.text("GET")).invoke(); - assertNotEquals(400, response.getStatus()); - assertTrue(response.hasEntity()); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void testOptions() { - try { - WebTarget r = getWebTarget(); - response = r.request().build("OPTIONS").invoke(); - assertEquals(200, response.getStatus()); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void testHead() { - try { - WebTarget r = getWebTarget(); - response = r.request().build("HEAD", Entity.text("GET")).invoke(); - assertEquals(200, response.getStatus()); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Override - protected Application configure() { - return new ResourceConfig(HttpMethodResource.class); - } - - protected Client createClient() { - ClientConfig cc = new ClientConfig(); -// cc.connectorProvider(new ApacheConnectorProvider()); - return ClientBuilder.newClient(cc); - } - - private WebTarget getWebTarget(final Client client) { - return client.target(getBaseUri()).path("test"); - } - - private WebTarget getWebTarget() { - return getWebTarget(createClient()); - } - - - @Path("/test") - public static class HttpMethodResource { - @GET - public String get(String entity) { - return entity; - } - - @DELETE - public String delete(String entity) { - return entity; - } - - @PUT - public String put() { - return "PUT"; - } - } -} diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java index 9fdd84a470..7f36bcf7b0 100644 --- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java +++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -64,15 +64,6 @@ public String get() { } } - - @Test - public void testOptions() { - WebTarget r = getWebTarget(); - Response cr = r.request().options(); - assertTrue(cr.hasEntity()); - cr.close(); - } - @Test public void testOptionsWithEntity() { WebTarget r = getWebTarget(); diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java index 1571c9bebe..cfe1192be1 100644 --- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java +++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2020, 2021 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java index 092b854e64..70ce928c99 100644 --- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java +++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java index cf9d4ae785..2a62021fbc 100644 --- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java +++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpMethodOptionalEntityTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpMethodOptionalEntityTest.java deleted file mode 100644 index d38ad79032..0000000000 --- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/HttpMethodOptionalEntityTest.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.glassfish.jersey.netty.connector; - -import org.glassfish.jersey.client.ClientConfig; -import org.glassfish.jersey.server.ResourceConfig; -import org.glassfish.jersey.test.JerseyTest; -import org.junit.After; -import org.junit.Test; - -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.client.Entity; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.Response; - -import java.util.Arrays; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -public class HttpMethodOptionalEntityTest extends JerseyTest { - - private static final String PATH = "test"; - - private Response response; - - @After - public void clear() { - if (response != null) { - response.close(); - } - } - - @Test - public void testPut() { - try { - response = target(PATH).request().method("PUT"); - - assertTrue(Arrays.asList(200, 201, 204).contains(response.getStatus())); - assertEquals("PUT", response.readEntity(String.class)); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void testDelete() { - try { - response = target(PATH).request().build("DELETE", Entity.text("DELETE")).invoke(); - assertNotEquals(200, response.getStatus()); - assertTrue(response.hasEntity()); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void testGet() { - try { - response = target(PATH).request().build("GET", Entity.text("GET")).invoke(); - assertNotEquals(400, response.getStatus()); - assertTrue(response.hasEntity()); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void testOptions() { - try { - response = target(PATH).request().build("OPTIONS", Entity.text("OPTIONS")).invoke(); - assertTrue(response.hasEntity()); - assertEquals(200, response.getStatus()); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void testHead() { - try { - response = target(PATH).request().build("HEAD", Entity.text("GET")).invoke(); - assertEquals(200, response.getStatus()); - } catch (Exception e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Path("/test") - public static class HttpMethodResource { - @GET - public String get(String entity) { - return entity; - } - - @DELETE - public String delete(String entity) { - return entity; - } - - @PUT - public String put() { - return "PUT"; - } - } - - @Override - protected Application configure() { - return new ResourceConfig(HttpMethodResource.class); - } - - @Override - protected void configureClient(ClientConfig config) { - config.connectorProvider(new NettyConnectorProvider()); - } -} diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java index 50bc67a637..f4bcab228f 100644 --- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java +++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at diff --git a/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java b/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java index 9cb64da593..2f59ae7f00 100644 --- a/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java +++ b/core-client/src/main/java/org/glassfish/jersey/client/JerseyInvocation.java @@ -120,13 +120,13 @@ private enum EntityPresence { private static Map initializeMap() { final Map map = new HashMap<>(); - map.put("DELETE", EntityPresence.OPTIONAL); // changed - map.put("GET", EntityPresence.OPTIONAL); // changed - map.put("HEAD", EntityPresence.OPTIONAL); // changed - map.put("OPTIONS", EntityPresence.OPTIONAL); // changed + map.put("DELETE", EntityPresence.MUST_BE_NULL); + map.put("GET", EntityPresence.MUST_BE_NULL); + map.put("HEAD", EntityPresence.MUST_BE_NULL); + map.put("OPTIONS", EntityPresence.OPTIONAL); map.put("PATCH", EntityPresence.MUST_BE_PRESENT); map.put("POST", EntityPresence.OPTIONAL); // we allow to post null instead of entity - map.put("PUT", EntityPresence.OPTIONAL); // changed + map.put("PUT", EntityPresence.MUST_BE_PRESENT); map.put("TRACE", EntityPresence.MUST_BE_NULL); return map; } diff --git a/core-client/src/test/java/JerseyInvocationMethodEntityTest.java b/core-client/src/test/java/JerseyInvocationMethodEntityTest.java deleted file mode 100644 index 034aa9a782..0000000000 --- a/core-client/src/test/java/JerseyInvocationMethodEntityTest.java +++ /dev/null @@ -1,68 +0,0 @@ -import org.junit.Test; - -import javax.ws.rs.ProcessingException; -import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.client.Entity; -import javax.ws.rs.client.WebTarget; - -import static org.junit.Assert.fail; - -public class JerseyInvocationMethodEntityTest { - - @Test - public void deleteMethodTest() { - final Client c1 = ClientBuilder.newClient(); - try { - c1.target("http://localhost:8080/myPath").request().method("DELETE", Entity.text("body")); - } catch (ProcessingException e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void getMethodTest() { - final Client c1 = ClientBuilder.newClient(); - try { - c1.target("http://localhost:8080/myPath").request().method("GET", Entity.text("body")); - } catch (ProcessingException e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void headMethodTest() { - final Client c1 = ClientBuilder.newClient(); - try { - c1.target("http://localhost:8080/myPath").request().method("HEAD", Entity.text("body")); - } catch (ProcessingException e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void optionsMethodTest() { - final Client c1 = ClientBuilder.newClient(); - try { - WebTarget target = c1.target("http://localhost:8080").path("myPath"); - target.request().method("GET"); - } catch (ProcessingException e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } - - @Test - public void putMethodTest() { - final Client c1 = ClientBuilder.newClient(); - try { - c1.target("http://localhost:8080/myPath").request().method("PUT"); - } catch (ProcessingException e) { - e.printStackTrace(); - fail("An exception is not expected. " + e.getMessage()); - } - } -} diff --git a/core-client/src/test/java/org/glassfish/jersey/client/HttpMethodTest.java b/core-client/src/test/java/org/glassfish/jersey/client/HttpMethodTest.java deleted file mode 100644 index 4c2142207a..0000000000 --- a/core-client/src/test/java/org/glassfish/jersey/client/HttpMethodTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.glassfish.jersey.client; - -import org.junit.After; -import org.junit.Test; - -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.client.Entity; -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.Response; -import java.util.Arrays; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -public class HttpMethodTest { - - -} From 51c2850ac77b87bb639685b2157e151db1f10a6e Mon Sep 17 00:00:00 2001 From: aserkes Date: Thu, 12 Aug 2021 20:33:44 +0200 Subject: [PATCH 3/5] add possibility to use entity with http method Options in requests according to the RFC 7231 Signed-off-by: aserkes --- .../jersey/apache/connector/HttpMethodTest.java | 2 +- .../jersey/grizzly/connector/HttpMethodTest.java | 3 ++- .../helidon/connector/BasicHelidonConnectorTest.java | 2 +- .../jersey/jdk/connector/HttpMethodTest.java | 12 ++---------- .../glassfish/jersey/jetty/connector/MethodTest.java | 2 +- .../glassfish/jersey/netty/connector/MethodTest.java | 2 +- 6 files changed, 8 insertions(+), 15 deletions(-) diff --git a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java index 54d5d943b9..f507504348 100644 --- a/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java +++ b/connectors/apache-connector/src/test/java/org/glassfish/jersey/apache/connector/HttpMethodTest.java @@ -150,7 +150,7 @@ public void testOptions() { @Test public void testOptionsWithEntity() { WebTarget r = getWebTarget(); - Response response = r.request().build("OPTIONS").invoke(); + Response response = r.request().build("OPTIONS", Entity.text("OPTIONS")).invoke(); assertEquals(200, response.getStatus()); response.close(); } diff --git a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java index 7f36bcf7b0..3f905042e2 100644 --- a/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java +++ b/connectors/grizzly-connector/src/test/java/org/glassfish/jersey/grizzly/connector/HttpMethodTest.java @@ -25,6 +25,7 @@ import javax.ws.rs.Path; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.Application; import javax.ws.rs.core.Response; @@ -67,7 +68,7 @@ public String get() { @Test public void testOptionsWithEntity() { WebTarget r = getWebTarget(); - Response response = r.request().build("OPTIONS").invoke(); + Response response = r.request().build("OPTIONS", Entity.text("OPTIONS")).invoke(); assertEquals(200, response.getStatus()); response.close(); } diff --git a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java index cfe1192be1..4af0ebec99 100644 --- a/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java +++ b/connectors/helidon-connector/src/test/java/org/glassfish/jersey/helidon/connector/BasicHelidonConnectorTest.java @@ -310,7 +310,7 @@ public void testOneClientsTwoReqestsAsync() throws ExecutionException, Interrupt @Test public void testOptionsWithEntity() { - Response response = target("basic").path("get").request().build("OPTIONS").invoke(); + Response response = target("basic").path("get").request().build("OPTIONS", Entity.text("OPTIONS")).invoke(); assertEquals(200, response.getStatus()); response.close(); } diff --git a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java index 70ce928c99..60f5f1bc6d 100644 --- a/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java +++ b/connectors/jdk-connector/src/test/java/org/glassfish/jersey/jdk/connector/HttpMethodTest.java @@ -25,6 +25,7 @@ import javax.ws.rs.Path; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.Entity; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.Application; import javax.ws.rs.core.Response; @@ -64,19 +65,10 @@ public String get() { } } - - @Test - public void testOptions() { - WebTarget r = getWebTarget(); - Response cr = r.request().options(); - assertTrue(cr.hasEntity()); - cr.close(); - } - @Test public void testOptionsWithEntity() { WebTarget r = getWebTarget(); - Response response = r.request().build("OPTIONS").invoke(); + Response response = r.request().build("OPTIONS", Entity.text("OPTIONS")).invoke(); assertEquals(200, response.getStatus()); response.close(); } diff --git a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java index 2a62021fbc..6ce7a9198f 100644 --- a/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java +++ b/connectors/jetty-connector/src/test/java/org/glassfish/jersey/jetty/connector/MethodTest.java @@ -146,7 +146,7 @@ public void testPatch() { @Test public void testOptionsWithEntity() { - Response response = target(PATH).request().build("OPTIONS").invoke(); + Response response = target(PATH).request().build("OPTIONS", Entity.text("OPTIONS")).invoke(); assertEquals(200, response.getStatus()); response.close(); } diff --git a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java index f4bcab228f..f0c639b283 100644 --- a/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java +++ b/connectors/netty-connector/src/test/java/org/glassfish/jersey/netty/connector/MethodTest.java @@ -101,7 +101,7 @@ public void testDelete() { @Test public void testOptionsWithEntity() { - Response response = target(PATH).request().build("OPTIONS").invoke(); + Response response = target(PATH).request().build("OPTIONS", Entity.text("OPTIONS")).invoke(); assertEquals(200, response.getStatus()); response.close(); } From 219acb61121b0c6fe83ca8e74487ddc5f1eb5608 Mon Sep 17 00:00:00 2001 From: aserkes Date: Thu, 2 Sep 2021 23:10:33 +0200 Subject: [PATCH 4/5] update test after add possibility to use entity with http method Options in requests according to the RFC 7231 Signed-off-by: aserkes --- .../glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java index 175ad5fe90..f786c2eefd 100644 --- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java +++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java @@ -85,7 +85,7 @@ public void testHead() { @Test public void testOptions() { - _test("OPTIONS", true, true); + _test("OPTIONS", true, false); _test("OPTIONS", false, false); } From 63657e64745f252471d55a6cbc19cc4e4f14ebc7 Mon Sep 17 00:00:00 2001 From: aserkes Date: Fri, 3 Sep 2021 05:56:05 +0200 Subject: [PATCH 5/5] update test after add possibility to use entity with http method Options in requests according to the RFC 7231 Signed-off-by: aserkes --- .../glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java index f786c2eefd..3a81437d0c 100644 --- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java +++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/HttpMethodEntityTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at