This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-vfs.git


The following commit(s) were added to refs/heads/master by this push:
     new 783f1546 Schemes for 'http' and 'https' to use HttpClient 4 instead of 
3
783f1546 is described below

commit 783f1546cc56e58a6c15ccdc52c0205a89b29a75
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Dec 2 14:45:42 2023 -0500

    Schemes for 'http' and 'https' to use HttpClient 4 instead of 3
    
    - Scheme "http" now uses Apache HttpClient 4 instead of HttpClient 3.
    - Scheme "https" now uses Apache HttpClient 4 instead of HttpClient 3.
    - Deprecate package org.apache.commons.vfs2.provider.http in favor of
    org.apache.commons.vfs2.provider.http4.
    - Deprecate package org.apache.commons.vfs2.provider.https in favor of
    org.apache.commons.vfs2.provider.http4s.
---
 .../commons/vfs2/provider/http/HttpClientFactory.java      |  3 +++
 .../vfs2/provider/http/HttpFileContentInfoFactory.java     |  3 +++
 .../commons/vfs2/provider/http/HttpFileNameParser.java     |  3 +++
 .../apache/commons/vfs2/provider/http/HttpFileObject.java  |  2 ++
 .../commons/vfs2/provider/http/HttpFileProvider.java       |  3 +++
 .../apache/commons/vfs2/provider/http/HttpFileSystem.java  |  3 +++
 .../vfs2/provider/http/HttpFileSystemConfigBuilder.java    |  3 +++
 .../vfs2/provider/http/HttpRandomAccessContent.java        |  2 ++
 .../apache/commons/vfs2/provider/http/package-info.java    |  2 ++
 .../commons/vfs2/provider/https/HttpsFileNameParser.java   |  3 +++
 .../commons/vfs2/provider/https/HttpsFileProvider.java     |  3 +++
 .../apache/commons/vfs2/provider/https/package-info.java   |  2 ++
 .../resources/org/apache/commons/vfs2/impl/providers.xml   | 14 +++++++++++---
 .../vfs2/util/DelegatingFileSystemOptionsBuilderTest.java  |  6 +++---
 src/changes/changes.xml                                    | 12 ++++++++++++
 15 files changed, 58 insertions(+), 6 deletions(-)

diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpClientFactory.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpClientFactory.java
index baa9db30..5103ed28 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpClientFactory.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpClientFactory.java
@@ -35,7 +35,10 @@ import org.apache.commons.vfs2.util.UserAuthenticatorUtils;
 
 /**
  * Create a HttpClient instance.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
+@Deprecated
 public final class HttpClientFactory {
 
     /**
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileContentInfoFactory.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileContentInfoFactory.java
index 2ac194c0..68a32321 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileContentInfoFactory.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileContentInfoFactory.java
@@ -31,7 +31,10 @@ import org.apache.commons.vfs2.util.FileObjectUtils;
 
 /**
  * Creates FileContentInfo instances for HTTP.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
+@Deprecated
 public class HttpFileContentInfoFactory implements FileContentInfoFactory {
 
     @Override
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileNameParser.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileNameParser.java
index 31b1e1e3..399ea487 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileNameParser.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileNameParser.java
@@ -21,7 +21,10 @@ import org.apache.commons.vfs2.provider.URLFileNameParser;
 
 /**
  * Implementation for http. set default port to 80
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
+@Deprecated
 public class HttpFileNameParser extends URLFileNameParser {
 
     private static final int DEFAULT_PORT = 80;
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileObject.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileObject.java
index 3464f612..52707562 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileObject.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileObject.java
@@ -47,7 +47,9 @@ import org.apache.commons.vfs2.util.RandomAccessMode;
  * </p>
  *
  * @param <FS> An {@link HttpFileSystem} subclass
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
+@Deprecated
 public class HttpFileObject<FS extends HttpFileSystem> extends 
AbstractFileObject<FS> {
 
     /**
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileProvider.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileProvider.java
index 57ba1bca..15a9057e 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileProvider.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileProvider.java
@@ -34,7 +34,10 @@ import org.apache.commons.vfs2.util.UserAuthenticatorUtils;
 
 /**
  * An HTTP provider that uses commons-httpclient.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
+@Deprecated
 public class HttpFileProvider extends AbstractOriginatingFileProvider {
 
     /** Authenticator information. */
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileSystem.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileSystem.java
index aa407972..3310c903 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileSystem.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileSystem.java
@@ -30,7 +30,10 @@ import org.apache.commons.vfs2.provider.GenericFileName;
 
 /**
  * An HTTP file system.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
+@Deprecated
 public class HttpFileSystem extends AbstractFileSystem {
 
     private final HttpClient client;
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileSystemConfigBuilder.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileSystemConfigBuilder.java
index 30c52af8..9b6853ee 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileSystemConfigBuilder.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpFileSystemConfigBuilder.java
@@ -28,7 +28,10 @@ import org.apache.commons.vfs2.UserAuthenticator;
 
 /**
  * Configuration options for HTTP.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
+@Deprecated
 public class HttpFileSystemConfigBuilder extends FileSystemConfigBuilder {
 
     /**
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpRandomAccessContent.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpRandomAccessContent.java
index b679422c..cad38d0d 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpRandomAccessContent.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/HttpRandomAccessContent.java
@@ -31,7 +31,9 @@ import org.apache.commons.vfs2.util.RandomAccessMode;
  * RandomAccess content using HTTP.
  *
  * @param <FS> Type of HttpFileSystem.
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
+@Deprecated
 final class HttpRandomAccessContent<FS extends HttpFileSystem> extends 
AbstractRandomAccessStreamContent {
 
     protected long filePointer;
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/package-info.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/package-info.java
index 62921fd6..611b15f9 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/package-info.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http/package-info.java
@@ -17,5 +17,7 @@
 
 /**
  * The HTTP File Provider.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4}.
  */
 package org.apache.commons.vfs2.provider.http;
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/HttpsFileNameParser.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/HttpsFileNameParser.java
index a1579232..dc21000f 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/HttpsFileNameParser.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/HttpsFileNameParser.java
@@ -21,7 +21,10 @@ import org.apache.commons.vfs2.provider.URLFileNameParser;
 
 /**
  * Implementation for https. set default port to 443.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4s}.
  */
+@Deprecated
 public class HttpsFileNameParser extends URLFileNameParser {
 
     private static final int DEFAULT_PORT = 443;
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/HttpsFileProvider.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/HttpsFileProvider.java
index 05ed1df4..60185532 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/HttpsFileProvider.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/HttpsFileProvider.java
@@ -20,7 +20,10 @@ import 
org.apache.commons.vfs2.provider.http.HttpFileProvider;
 
 /**
  * An HTTPS provider that uses commons-httpclient.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4s}.
  */
+@Deprecated
 public class HttpsFileProvider extends HttpFileProvider {
 
     /**
diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/package-info.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/package-info.java
index 8434892f..842b7161 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/package-info.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/https/package-info.java
@@ -17,5 +17,7 @@
 
 /**
  * The HTTPS File Provider.
+ *
+ * @deprecated Use {@link org.apache.commons.vfs2.provider.http4s}.
  */
 package org.apache.commons.vfs2.provider.https;
diff --git 
a/commons-vfs2/src/main/resources/org/apache/commons/vfs2/impl/providers.xml 
b/commons-vfs2/src/main/resources/org/apache/commons/vfs2/impl/providers.xml
index dfaad344..69092063 100644
--- a/commons-vfs2/src/main/resources/org/apache/commons/vfs2/impl/providers.xml
+++ b/commons-vfs2/src/main/resources/org/apache/commons/vfs2/impl/providers.xml
@@ -56,14 +56,22 @@
         <if-available class-name="org.apache.commons.net.ftp.FTPFile"/>
     </provider>
 
-    <!-- The default http/https providers based on HttpClient v3 -->
-    <provider 
class-name="org.apache.commons.vfs2.provider.http.HttpFileProvider">
+    <!-- http/https providers based on HttpClient v4 -->
+    <provider 
class-name="org.apache.commons.vfs2.provider.http4.Http4FileProvider">
         <scheme name="http"/>
+        <if-available class-name="org.apache.http.client.HttpClient"/>
+    </provider>
+    <provider 
class-name="org.apache.commons.vfs2.provider.http4s.Http4sFileProvider">
+        <scheme name="https"/>
+        <if-available class-name="org.apache.http.client.HttpClient"/>
+    </provider>
+
+    <!-- The default http3/http3s providers based on HttpClient v3 -->
+    <provider 
class-name="org.apache.commons.vfs2.provider.http.HttpFileProvider">
         <scheme name="http3"/>
         <if-available class-name="org.apache.commons.httpclient.HttpClient"/>
     </provider>
     <provider 
class-name="org.apache.commons.vfs2.provider.https.HttpsFileProvider">
-        <scheme name="https"/>
         <scheme name="http3s"/>
         <if-available class-name="org.apache.commons.httpclient.HttpClient"/>
     </provider>
diff --git 
a/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/DelegatingFileSystemOptionsBuilderTest.java
 
b/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/DelegatingFileSystemOptionsBuilderTest.java
index f707f73a..1a31fa7f 100644
--- 
a/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/DelegatingFileSystemOptionsBuilderTest.java
+++ 
b/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/DelegatingFileSystemOptionsBuilderTest.java
@@ -28,7 +28,7 @@ import java.lang.reflect.InvocationTargetException;
 import org.apache.commons.vfs2.FileSystemException;
 import org.apache.commons.vfs2.FileSystemOptions;
 import org.apache.commons.vfs2.impl.StandardFileSystemManager;
-import org.apache.commons.vfs2.provider.http.HttpFileSystemConfigBuilder;
+import org.apache.commons.vfs2.provider.http4.Http4FileSystemConfigBuilder;
 import org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder;
 import org.apache.commons.vfs2.provider.sftp.TrustEveryoneUserInfo;
 import org.junit.jupiter.api.AfterEach;
@@ -99,8 +99,8 @@ public class DelegatingFileSystemOptionsBuilderTest {
         delegate.setConfigClass(opts, "sftp", "userinfo", 
TrustEveryoneUserInfo.class);
         delegate.setConfigStrings(opts, "sftp", "identities", identityPaths);
 
-        
assertEquals(HttpFileSystemConfigBuilder.getInstance().getProxyHost(opts), 
"proxy", "http.proxyHost");
-        
assertEquals(HttpFileSystemConfigBuilder.getInstance().getProxyPort(opts), 
8080, "http.proxyPort");
+        
assertEquals(Http4FileSystemConfigBuilder.getInstance().getProxyHost(opts), 
"proxy", "http.proxyHost");
+        
assertEquals(Http4FileSystemConfigBuilder.getInstance().getProxyPort(opts), 
8080, "http.proxyPort");
         
assertSame(SftpFileSystemConfigBuilder.getInstance().getUserInfo(opts).getClass(),
 TrustEveryoneUserInfo.class, "sftp.userInfo");
 
         final File[] identities = 
SftpFileSystemConfigBuilder.getInstance().getIdentities(opts);
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index b5fd8db7..851c4995 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -166,6 +166,18 @@ The <action> type attribute can be add,update,fix,remove.
       <action type="fix" dev="ggregory" due-to="Gary Gregory">
         Port assertions to JUnit 5 APIs.
       </action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">
+        Scheme "http" now uses Apache HttpClient 4 instead of HttpClient 3.
+      </action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">
+        Scheme "https" now uses Apache HttpClient 4 instead of HttpClient 3.
+      </action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">
+        Deprecate package org.apache.commons.vfs2.provider.http in favor of 
org.apache.commons.vfs2.provider.http4.
+      </action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">
+        Deprecate package org.apache.commons.vfs2.provider.https in favor of 
org.apache.commons.vfs2.provider.http4s.
+      </action>
       <!-- ADD -->
       <action type="add" issue="VFS-848" dev="ggregory" due-to="beise, Gary 
Gregory">
         Config option for trailing slash in webdav URI #425.

Reply via email to