Rename Java Connector to JavaNetHttp Connector (#5066)
Signed-off-by: jansupol <jan.supol@oracle.com>
diff --git a/bom/pom.xml b/bom/pom.xml
index 32bf17d..8584f51 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -80,7 +80,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
- <artifactId>jersey-java-connector</artifactId>
+ <artifactId>jersey-jnh-connector</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
diff --git a/bundles/apidocs/pom.xml b/bundles/apidocs/pom.xml
index 7e3c65c..bd175fb 100644
--- a/bundles/apidocs/pom.xml
+++ b/bundles/apidocs/pom.xml
@@ -75,6 +75,11 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
+ <artifactId>jersey-jnh-connector</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-jdk-connector</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaClientProperties.java b/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaClientProperties.java
deleted file mode 100644
index cb8f60e..0000000
--- a/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaClientProperties.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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
- * 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.java.connector;
-
-import org.glassfish.jersey.internal.util.PropertiesClass;
-
-import java.net.http.HttpClient;
-
-/**
- * Provides configuration properties for a {@link JavaConnector}.
- *
- * @author Steffen Nießing
- */
-@PropertiesClass
-public class JavaClientProperties {
- /**
- * Configuration of the {@link java.net.CookieHandler} that should be used by the {@link HttpClient}.
- * If this option is not set, {@link HttpClient#cookieHandler()} will return an empty {@link java.util.Optional}
- * and therefore no cookie handler will be used.
- *
- * A provided value to this option has to be of type {@link java.net.CookieHandler}.
- */
- public static final String COOKIE_HANDLER = "jersey.config.java.client.cookieHandler";
-
- /**
- * Configuration of SSL parameters used by the {@link HttpClient}.
- * If this option is not set, then the {@link HttpClient} will use <it>implementation specific</it> default values.
- *
- * A provided value to this option has to be of type {@link javax.net.ssl.SSLParameters}.
- */
- public static final String SSL_PARAMETERS = "jersey.config.java.client.sslParameters";
-
- /**
- * Prevent this class from instantiation.
- */
- private JavaClientProperties() {}
-}
diff --git a/connectors/java-connector/pom.xml b/connectors/jnh-connector/pom.xml
similarity index 90%
rename from connectors/java-connector/pom.xml
rename to connectors/jnh-connector/pom.xml
index c2f1ef0..df184de 100644
--- a/connectors/java-connector/pom.xml
+++ b/connectors/jnh-connector/pom.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2021, 2022 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
@@ -27,11 +27,11 @@
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>jersey-java-connector</artifactId>
+ <artifactId>jersey-jnh-connector</artifactId>
<packaging>jar</packaging>
- <name>jersey-connectors-java</name>
+ <name>jersey-connectors-jnh</name>
- <description>Jersey Client Transport via Java's HttpClient</description>
+ <description>Jersey Client Transport via java.net.http.HttpClient introduced in Java 11</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpClientProperties.java b/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpClientProperties.java
new file mode 100644
index 0000000..9c3097b
--- /dev/null
+++ b/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpClientProperties.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2021, 2022 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.jnh.connector;
+
+import org.glassfish.jersey.internal.util.PropertiesClass;
+
+import java.net.http.HttpClient;
+
+/**
+ * Provides configuration properties for a {@link JavaNetHttpConnector}.
+ *
+ * @author Steffen Nießing
+ */
+@PropertiesClass
+public class JavaNetHttpClientProperties {
+ /**
+ * <p>
+ * Configuration of the {@link java.net.CookieHandler} that should be used by the {@link HttpClient}.
+ * If this option is not set, {@link HttpClient#cookieHandler()} will return an empty {@link java.util.Optional}
+ * and therefore no cookie handler will be used.
+ * </p>
+ * <p>
+ * A provided value to this option has to be of type {@link java.net.CookieHandler}.
+ * </p>
+ * <p>
+ * The name of the configuration property is <tt>{@value}</tt>.
+ * </p>
+ */
+ public static final String COOKIE_HANDLER = "jersey.config.jnh.client.cookieHandler";
+
+ /**
+ * <p>
+ * Configuration of SSL parameters used by the {@link HttpClient}.
+ * If this option is not set, then the {@link HttpClient} will use <it>implementation specific</it> default values.
+ * </p>
+ * <p>
+ * A provided value to this option has to be of type {@link javax.net.ssl.SSLParameters}.
+ * </p>
+ * <p>
+ * The name of the configuration property is <tt>{@value}</tt>.
+ * </p>
+ */
+ public static final String SSL_PARAMETERS = "jersey.config.jnh.client.sslParameters";
+
+ /**
+ * Prevent this class from instantiation.
+ */
+ private JavaNetHttpClientProperties() {}
+}
diff --git a/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaConnector.java b/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpConnector.java
similarity index 91%
rename from connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaConnector.java
rename to connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpConnector.java
index 9c104ab..cb166d5 100644
--- a/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaConnector.java
+++ b/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-package org.glassfish.jersey.java.connector;
+package org.glassfish.jersey.jnh.connector;
import jakarta.ws.rs.ProcessingException;
import jakarta.ws.rs.client.Client;
@@ -53,14 +53,14 @@
* <ul>
* <li>{@link ClientProperties#CONNECT_TIMEOUT}</li>
* <li>{@link ClientProperties#FOLLOW_REDIRECTS}</li>
- * <li>{@link JavaClientProperties#COOKIE_HANDLER}</li>
- * <li>{@link JavaClientProperties#SSL_PARAMETERS}</li>
+ * <li>{@link JavaNetHttpClientProperties#COOKIE_HANDLER}</li>
+ * <li>{@link JavaNetHttpClientProperties#SSL_PARAMETERS}</li>
* </ul>
*
* @author Steffen Nießing
*/
-public class JavaConnector implements Connector {
- private static final Logger LOGGER = Logger.getLogger(JavaConnector.class.getName());
+public class JavaNetHttpConnector implements Connector {
+ private static final Logger LOGGER = Logger.getLogger(JavaNetHttpConnector.class.getName());
private final HttpClient httpClient;
@@ -70,7 +70,7 @@
* @param client a Jersey client instance to get additional configuration properties from (e.g. {@link SSLContext})
* @param configuration the configuration properties for this connector
*/
- public JavaConnector(final Client client, final Configuration configuration) {
+ public JavaNetHttpConnector(final Client client, final Configuration configuration) {
HttpClient.Builder httpClientBuilder = HttpClient.newBuilder();
httpClientBuilder.version(HttpClient.Version.HTTP_1_1);
SSLContext sslContext = client.getSslContext();
@@ -81,7 +81,8 @@
if (connectTimeout != null) {
httpClientBuilder.connectTimeout(Duration.of(connectTimeout, ChronoUnit.MILLIS));
}
- CookieHandler cookieHandler = getPropertyOrNull(configuration, JavaClientProperties.COOKIE_HANDLER, CookieHandler.class);
+ CookieHandler cookieHandler =
+ getPropertyOrNull(configuration, JavaNetHttpClientProperties.COOKIE_HANDLER, CookieHandler.class);
if (cookieHandler != null) {
httpClientBuilder.cookieHandler(cookieHandler);
}
@@ -91,7 +92,8 @@
} else {
httpClientBuilder.followRedirects(HttpClient.Redirect.NORMAL);
}
- SSLParameters sslParameters = getPropertyOrNull(configuration, JavaClientProperties.SSL_PARAMETERS, SSLParameters.class);
+ SSLParameters sslParameters =
+ getPropertyOrNull(configuration, JavaNetHttpClientProperties.SSL_PARAMETERS, SSLParameters.class);
if (sslParameters != null) {
httpClientBuilder.sslParameters(sslParameters);
}
diff --git a/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaConnectorProvider.java b/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpConnectorProvider.java
similarity index 79%
rename from connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaConnectorProvider.java
rename to connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpConnectorProvider.java
index 1fa38ab..32bde1b 100644
--- a/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/JavaConnectorProvider.java
+++ b/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/JavaNetHttpConnectorProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-package org.glassfish.jersey.java.connector;
+package org.glassfish.jersey.jnh.connector;
import jakarta.ws.rs.client.Client;
import jakarta.ws.rs.core.Configurable;
@@ -33,25 +33,25 @@
* <ul>
* <li>{@link ClientProperties#CONNECT_TIMEOUT}</li>
* <li>{@link ClientProperties#FOLLOW_REDIRECTS} (defaults to {@link java.net.http.HttpClient.Redirect#NORMAL} when unset)</li>
- * <li>{@link JavaClientProperties#COOKIE_HANDLER}</li>
- * <li>{@link JavaClientProperties#SSL_PARAMETERS}</li>
+ * <li>{@link JavaNetHttpClientProperties#COOKIE_HANDLER}</li>
+ * <li>{@link JavaNetHttpClientProperties#SSL_PARAMETERS}</li>
* </ul>
* </p>
*
* @author Steffen Nießing
*/
-public class JavaConnectorProvider implements ConnectorProvider {
+public class JavaNetHttpConnectorProvider implements ConnectorProvider {
@Override
public Connector getConnector(Client client, Configuration runtimeConfig) {
- return new JavaConnector(client, runtimeConfig);
+ return new JavaNetHttpConnector(client, runtimeConfig);
}
/**
- * Retrieve the Java {@link HttpClient} used by the provided {@link JavaConnector}.
+ * Retrieve the Java {@link HttpClient} used by the provided {@link JavaNetHttpConnector}.
*
- * @param component the component from which the {@link JavaConnector} should be retrieved
+ * @param component the component from which the {@link JavaNetHttpConnector} should be retrieved
* @return a Java {@link HttpClient} instance
- * @throws java.lang.IllegalArgumentException if a {@link JavaConnector} cannot be provided from the given {@code component}
+ * @throws java.lang.IllegalArgumentException if a {@link JavaNetHttpConnector} cannot be provided from the given {@code component}
*/
public static HttpClient getHttpClient(Configurable<?> component) {
try {
@@ -61,8 +61,8 @@
? initializable.getConfiguration().getConnector()
: initializable.preInitialize().getConfiguration().getConnector();
- if (connector instanceof JavaConnector) {
- return ((JavaConnector) connector).getHttpClient();
+ if (connector instanceof JavaNetHttpConnector) {
+ return ((JavaNetHttpConnector) connector).getHttpClient();
} else {
throw new IllegalArgumentException(LocalizationMessages.EXPECTED_CONNECTOR_PROVIDER_NOT_USED());
}
diff --git a/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/package-info.java b/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/package-info.java
similarity index 85%
rename from connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/package-info.java
rename to connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/package-info.java
index e50e0bb..6a5e83a 100644
--- a/connectors/java-connector/src/main/java/org/glassfish/jersey/java/connector/package-info.java
+++ b/connectors/jnh-connector/src/main/java/org/glassfish/jersey/jnh/connector/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -18,4 +18,4 @@
* Jersey client {@link org.glassfish.jersey.client.spi.Connector connector} based on
* Java's {@link java.net.http.HttpClient}.
*/
-package org.glassfish.jersey.java.connector;
\ No newline at end of file
+package org.glassfish.jersey.jnh.connector;
\ No newline at end of file
diff --git a/connectors/java-connector/src/main/resources/org/glassfish/jersey/java/connector/localization.properties b/connectors/jnh-connector/src/main/resources/org/glassfish/jersey/jnh/connector/localization.properties
similarity index 92%
rename from connectors/java-connector/src/main/resources/org/glassfish/jersey/java/connector/localization.properties
rename to connectors/jnh-connector/src/main/resources/org/glassfish/jersey/jnh/connector/localization.properties
index ca98e99..289b5e3 100644
--- a/connectors/java-connector/src/main/resources/org/glassfish/jersey/java/connector/localization.properties
+++ b/connectors/jnh-connector/src/main/resources/org/glassfish/jersey/jnh/connector/localization.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2021, 2022 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/java-connector/src/test/java/org/glassfish/jersey/java/connector/AbstractJavaConnectorTest.java b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/AbstractJavaConnectorTest.java
similarity index 93%
rename from connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/AbstractJavaConnectorTest.java
rename to connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/AbstractJavaConnectorTest.java
index 7d3980d..6d6e3c0 100644
--- a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/AbstractJavaConnectorTest.java
+++ b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/AbstractJavaConnectorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-package org.glassfish.jersey.java.connector;
+package org.glassfish.jersey.jnh.connector;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DefaultValue;
@@ -42,7 +42,7 @@
import java.util.logging.Logger;
/**
- * An abstract base class for tests of the {@link JavaConnector} providing common resources and utility methods.
+ * An abstract base class for tests of the {@link JavaNetHttpConnector} providing common resources and utility methods.
*/
abstract class AbstractJavaConnectorTest extends JerseyTest {
private static final Logger LOGGER = Logger.getLogger(AbstractJavaConnectorTest.class.getName());
@@ -123,6 +123,6 @@
@Override
protected void configureClient(ClientConfig config) {
config.register(new LoggingFeature(LOGGER, LoggingFeature.Verbosity.PAYLOAD_ANY));
- config.connectorProvider(new JavaConnectorProvider());
+ config.connectorProvider(new JavaNetHttpConnectorProvider());
}
}
diff --git a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/AsyncTest.java b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/AsyncTest.java
similarity index 95%
rename from connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/AsyncTest.java
rename to connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/AsyncTest.java
index dc08521..4cb1c48 100644
--- a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/AsyncTest.java
+++ b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/AsyncTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-package org.glassfish.jersey.java.connector;
+package org.glassfish.jersey.jnh.connector;
import jakarta.ws.rs.client.Entity;
import jakarta.ws.rs.core.Response;
diff --git a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/BodyPublisherTest.java b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/BodyPublisherTest.java
similarity index 94%
rename from connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/BodyPublisherTest.java
rename to connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/BodyPublisherTest.java
index dbbbe82..ca15382 100644
--- a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/BodyPublisherTest.java
+++ b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/BodyPublisherTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-package org.glassfish.jersey.java.connector;
+package org.glassfish.jersey.jnh.connector;
import jakarta.ws.rs.client.Entity;
import jakarta.ws.rs.core.MediaType;
diff --git a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/OptionsMethodTest.java b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/OptionsMethodTest.java
similarity index 90%
rename from connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/OptionsMethodTest.java
rename to connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/OptionsMethodTest.java
index 27ec125..8206602 100644
--- a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/OptionsMethodTest.java
+++ b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/OptionsMethodTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-package org.glassfish.jersey.java.connector;
+package org.glassfish.jersey.jnh.connector;
import jakarta.ws.rs.core.Response;
import org.junit.Test;
diff --git a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/RedirectTest.java b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/RedirectTest.java
similarity index 92%
rename from connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/RedirectTest.java
rename to connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/RedirectTest.java
index 1cd0c3d..2b730ca 100644
--- a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/RedirectTest.java
+++ b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/RedirectTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-package org.glassfish.jersey.java.connector;
+package org.glassfish.jersey.jnh.connector;
import jakarta.ws.rs.core.Response;
import org.glassfish.jersey.client.ClientProperties;
diff --git a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/RetrieveHttpClientFromConnectorProviderTest.java b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/RetrieveHttpClientFromConnectorProviderTest.java
similarity index 68%
rename from connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/RetrieveHttpClientFromConnectorProviderTest.java
rename to connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/RetrieveHttpClientFromConnectorProviderTest.java
index aa831de..1bc10f8 100644
--- a/connectors/java-connector/src/test/java/org/glassfish/jersey/java/connector/RetrieveHttpClientFromConnectorProviderTest.java
+++ b/connectors/jnh-connector/src/test/java/org/glassfish/jersey/jnh/connector/RetrieveHttpClientFromConnectorProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 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
@@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
-package org.glassfish.jersey.java.connector;
+package org.glassfish.jersey.jnh.connector;
import org.junit.Test;
@@ -23,7 +23,7 @@
import static org.assertj.core.api.Assertions.assertThat;
/**
- * Tests access to the {@link HttpClient} instance provided from the {@link JavaConnectorProvider}.
+ * Tests access to the {@link HttpClient} instance provided from the {@link JavaNetHttpConnectorProvider}.
*/
public class RetrieveHttpClientFromConnectorProviderTest extends AbstractJavaConnectorTest {
/**
@@ -32,9 +32,9 @@
*/
@Test
public void testClientUsesJavaConnector() {
- assertThat(JavaConnectorProvider.getHttpClient(client())).isInstanceOf(HttpClient.class);
- assertThat(JavaConnectorProvider.getHttpClient(target())).isInstanceOf(HttpClient.class);
- assertThat(JavaConnectorProvider.getHttpClient(client()))
- .isEqualTo(JavaConnectorProvider.getHttpClient(target()));
+ assertThat(JavaNetHttpConnectorProvider.getHttpClient(client())).isInstanceOf(HttpClient.class);
+ assertThat(JavaNetHttpConnectorProvider.getHttpClient(target())).isInstanceOf(HttpClient.class);
+ assertThat(JavaNetHttpConnectorProvider.getHttpClient(client()))
+ .isEqualTo(JavaNetHttpConnectorProvider.getHttpClient(target()));
}
}
diff --git a/connectors/pom.xml b/connectors/pom.xml
index ade8b73..79ce003 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -40,8 +40,8 @@
<module>helidon-connector</module>
<module>jdk-connector</module>
<module>jetty-connector</module>
+ <module>jnh-connector</module>
<module>netty-connector</module>
-<!-- <module>java-connector</module> temporarily for M3-->
</modules>
<dependencies>
diff --git a/docs/src/main/docbook/appendix-properties.xml b/docs/src/main/docbook/appendix-properties.xml
index a3232c6..dcd681b 100644
--- a/docs/src/main/docbook/appendix-properties.xml
+++ b/docs/src/main/docbook/appendix-properties.xml
@@ -1849,4 +1849,55 @@
</tgroup>
</table>
</section>
+ <section xml:id="appendix-properties-client-jnh">
+ <title>Java Net HTTP client configuration properties</title>
+
+ <para>
+ List of client configuration properties that can be found in &jersey.jnh.JavaNetHttpClientProperties; class.
+ </para>
+
+ <table>
+ <title>List of Java Net HTTP client configuration properties</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Constant</entry>
+ <entry>Value</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>&jersey.jnh.JavaNetHttpClientProperties.COOKIE_HANDLER;</entry>
+ <entry><literal>jersey.config.jnh.client.cookieHandler</literal></entry>
+ <entry>
+ <para>
+ Configuration of the <literal>java.net.CookieHandler</literal> that should be used by the
+ <literal>java.net.http.HttpClient</literal>. If this option is not set,
+ <literal>java.net.http.HttpClient#cookieHandler()</literal> will return an empty
+ <literal>java.util.Optional</literal> and therefore no cookie handler will be used.
+ </para>
+ <para>
+ A provided value to this option has to be of type <literal>java.net.CookieHandler</literal>.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>&jersey.jnh.JavaNetHttpClientProperties.SSL_PARAMETERS;</entry>
+ <entry><literal>jersey.config.jnh.client.sslParameters</literal></entry>
+ <entry>
+ <para>
+ Configuration of SSL parameters used by the <literal>java.net.http.HttpClient</literal>.
+ If this option is not set, then the <literal>java.net.http.HttpClient</literal> will use
+ <it>implementation specific</it> default values.
+ </para>
+ <para>
+ A provided value to this option has to be of type <literal>javax.net.ssl.SSLParameters</literal>.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
</appendix>
\ No newline at end of file
diff --git a/docs/src/main/docbook/client.xml b/docs/src/main/docbook/client.xml
index 1ba38d2..8d3fd74 100644
--- a/docs/src/main/docbook/client.xml
+++ b/docs/src/main/docbook/client.xml
@@ -670,6 +670,11 @@
<entry>&jersey.jdk.JdkConnectorProvider;</entry>
<entry><literal>org.glassfish.jersey.connectors:jersey-jdk-connector</literal></entry>
</row>
+ <row>
+ <entry>Java java.net.http client</entry>
+ <entry>&jersey.jnh.JavaNetHttpConnectorProvider;</entry>
+ <entry><literal>org.glassfish.jersey.connectors:jersey-jnh-connector</literal></entry>
+ </row>
</tbody>
</tgroup>
</table>
diff --git a/docs/src/main/docbook/jersey.ent b/docs/src/main/docbook/jersey.ent
index 4ffb0df..bc123fe 100644
--- a/docs/src/main/docbook/jersey.ent
+++ b/docs/src/main/docbook/jersey.ent
@@ -475,6 +475,11 @@
<!ENTITY jersey.jetty.JettyHttpContainerFactory "<link xlink:href='&jersey.javadoc.uri.prefix;/jetty/JettyHttpContainerFactory.html'>JettyHttpContainerFactory</link>">
<!ENTITY jersey.jetty.JettyHttpContainerProvider "<link xlink:href='&jersey.javadoc.uri.prefix;/jetty/JettyHttpContainerProvider.html'>JettyHttpContainerProvider</link>">
<!ENTITY jersey.jetty.JettyWebContainerFactory "<link xlink:href='&jersey.javadoc.uri.prefix;/jetty/servlet/JettyWebContainerFactory.html'>JettyWebContainerFactory</link>">
+<!ENTITY jersey.jnh.JavaNetHttpConnectorProvider "<link xlink:href='&jersey.javadoc.uri.prefix;/jnh/connector/JavaNetHttpConnectorProvider.html'>JavaNetHttpConnectorProvider</link>">
+<!ENTITY jersey.jnh.JavaNetHttpClientProperties "<link xlink:href='&jersey.javadoc.uri.prefix;/jnh/connector/JavaNetHttpClientProperties.html'>JavaNetHttpClientProperties</link>">
+<!ENTITY jersey.jnh.JavaNetHttpClientProperties "<link xlink:href='&jersey.javadoc.uri.prefix;/jnh/connector/JavaNetHttpClientProperties.html'>JavaNetHttpClientProperties</link>">
+<!ENTITY jersey.jnh.JavaNetHttpClientProperties.COOKIE_HANDLER "<link xlink:href='&jersey.javadoc.uri.prefix;/jnh/connector/JavaNetHttpClientProperties.html#COOKIE_HANDLER'>JavaNetHttpClientProperties.COOKIE_HANDLER</link>">
+<!ENTITY jersey.jnh.JavaNetHttpClientProperties.SSL_PARAMETERS "<link xlink:href='&jersey.javadoc.uri.prefix;/jnh/connector/JavaNetHttpClientProperties.html#SSL_PARAMETERS'>JavaNetHttpClientProperties.SSL_PARAMETERS</link>">
<!ENTITY jersey.linking.DeclarativeLinkingFeature "<link xlink:href='&jersey.javadoc.uri.prefix;/linking/DeclarativeLinkingFeature.html'>DeclarativeLinkingFeature</link>">
<!ENTITY jersey.logging.LoggingFeature "<link xlink:href='&jersey.javadoc.uri.prefix;/logging/LoggingFeature.html'>LoggingFeature</link>">
<!ENTITY jersey.logging.LoggingFeature.DEFAULT_LOGGER_NAME "<link xlink:href='&jersey.javadoc.uri.prefix;/logging/LoggingFeature.html#DEFAULT_LOGGER_NAME'>LoggingFeature.DEFAULT_LOGGER_NAME</link>">
diff --git a/tests/e2e-client/pom.xml b/tests/e2e-client/pom.xml
index b52fcd7..e58048f 100644
--- a/tests/e2e-client/pom.xml
+++ b/tests/e2e-client/pom.xml
@@ -129,6 +129,11 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
+ <artifactId>jersey-jnh-connector</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-jdk-connector</artifactId>
<scope>test</scope>
</dependency>
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HttpPatchTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HttpPatchTest.java
index 4a4fabe..bfc5bb0 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HttpPatchTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/HttpPatchTest.java
@@ -37,6 +37,7 @@
import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
import org.glassfish.jersey.jdk.connector.JdkConnectorProvider;
import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
+import org.glassfish.jersey.jnh.connector.JavaNetHttpConnectorProvider;
import org.glassfish.jersey.logging.LoggingFeature;
import org.glassfish.jersey.netty.connector.NettyConnectorProvider;
import org.glassfish.jersey.server.ResourceConfig;
@@ -66,6 +67,7 @@
{Apache5ConnectorProvider.class},
{NettyConnectorProvider.class},
{JdkConnectorProvider.class},
+ {JavaNetHttpConnectorProvider.class}
}));
}
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/RequestHeaderModificationsTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/RequestHeaderModificationsTest.java
index d955ff3..2299309 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/RequestHeaderModificationsTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/RequestHeaderModificationsTest.java
@@ -56,9 +56,10 @@
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.HttpUrlConnectorProvider;
import org.glassfish.jersey.client.spi.ConnectorProvider;
+import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
+import org.glassfish.jersey.jnh.connector.JavaNetHttpConnectorProvider;
import org.glassfish.jersey.logging.LoggingFeature;
import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
-import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
@@ -105,11 +106,13 @@
{JettyConnectorProvider.class, false, false}, // change to true when JERSEY-2341 fixed
{ApacheConnectorProvider.class, false, false}, // change to true when JERSEY-2341 fixed
{Apache5ConnectorProvider.class, false, false}, // change to true when JERSEY-2341 fixed
+ {JavaNetHttpConnectorProvider.class, true, false},
{HttpUrlConnectorProvider.class, true, true},
{GrizzlyConnectorProvider.class, false, true}, // change to true when JERSEY-2341 fixed
{JettyConnectorProvider.class, false, true}, // change to true when JERSEY-2341 fixed
{ApacheConnectorProvider.class, false, true}, // change to true when JERSEY-2341 fixed
{Apache5ConnectorProvider.class, false, true}, // change to true when JERSEY-2341 fixed
+ {JavaNetHttpConnectorProvider.class, true, true},
}));
}
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AbstractConnectorServerTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AbstractConnectorServerTest.java
index f26fca9..79d944d 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AbstractConnectorServerTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/AbstractConnectorServerTest.java
@@ -29,6 +29,7 @@
import org.glassfish.jersey.client.spi.ConnectorProvider;
import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
+import org.glassfish.jersey.jnh.connector.JavaNetHttpConnectorProvider;
import org.glassfish.jersey.tests.e2e.client.connector.ProviderFiltering;
import org.junit.After;
@@ -63,7 +64,8 @@
{new GrizzlyConnectorProvider()},
{new JettyConnectorProvider()},
{new ApacheConnectorProvider()},
- {new Apache5ConnectorProvider()}
+ {new Apache5ConnectorProvider()},
+ {new JavaNetHttpConnectorProvider()}
}));
}
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorHostnameVerifierTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorHostnameVerifierTest.java
index 1e21173..e962684 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorHostnameVerifierTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/connector/ssl/SslConnectorHostnameVerifierTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2022 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
@@ -32,6 +32,7 @@
import org.glassfish.jersey.client.spi.ConnectorProvider;
import org.glassfish.jersey.grizzly.connector.GrizzlyConnectorProvider;
import org.glassfish.jersey.jetty.connector.JettyConnectorProvider;
+import org.glassfish.jersey.jnh.connector.JavaNetHttpConnectorProvider;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -67,8 +68,12 @@
*/
@Test
public void testHostnameVerifierApplied() throws Exception {
- // Grizzly and Jetty connectors don't support Hostname Verification
- if (isExcluded(Arrays.asList(GrizzlyConnectorProvider.class, JettyConnectorProvider.class))) {
+ // Grizzly, JavaNetHttp, and Jetty connectors don't support Hostname Verification
+ if (isExcluded(Arrays.asList(
+ GrizzlyConnectorProvider.class,
+ JettyConnectorProvider.class,
+ JavaNetHttpConnectorProvider.class)
+ )) {
return;
}
diff --git a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/Expect100ContinueTest.java b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/Expect100ContinueTest.java
index 176e4d3..cae89b9 100644
--- a/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/Expect100ContinueTest.java
+++ b/tests/e2e-client/src/test/java/org/glassfish/jersey/tests/e2e/client/httpurlconnector/Expect100ContinueTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2020, 2022 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
@@ -16,9 +16,7 @@
package org.glassfish.jersey.tests.e2e.client.httpurlconnector;
-import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.ClientProperties;
-import org.glassfish.jersey.client.HttpUrlConnectorProvider;
import org.glassfish.jersey.client.RequestEntityProcessing;
import org.glassfish.jersey.client.http.Expect100ContinueFeature;
import org.glassfish.jersey.server.ResourceConfig;