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.