android-library
android-library copied to clipboard
Replace used http client library
At the moment the Nextcloud library uses a very old Apache http client library commons-httpclient-3.1
. Thus I propose to move on to the latest stable release which is described here: https://hc.apache.org/httpcomponents-client-4.5.x/android-port.html - httpclient-android-4.3.5.1
targeting Android 22 or lower or httpclient-android-4.4.1.1
respectively targeting Android 23 of higher or use libraries like OkHttp, Volley or others.
cc @tobiasKaminsky for discussion on this topic
Asked for compatibility here: https://github.com/smarek/httpclient-android/issues/12
Since there's JSON all around, maybe go for Retrofit?
Hi @mario unfortunately the issue here is related to the http client lib being a dependency of the used webdav client library (which is XML based) and there is no fully functional and supported webdav client lib except Jackrabbit (which uses a very old Apache http client library) 😞
@AndyScherzinger thanks for the clarification.
I tried building with httpclient 4.3 but the ssl handshake problem still occurs.
Is the inability to use a current/modern httpc library the reason that chunked transfers are not supported? I'm trying to fully understand where this bug is rooted, as it makes the client unusable on Android if the server is using OpenBSD httpd, as all transfers are always marked as chunked (and the HTTP spec requires all clients to support chunked file encodings).
@rpcameron I'd guess no, since we support chunked uploads already. The inability to use a modern httpc lib prevents ipv6... :(
@AndyScherzinger The problem is not chunked uploads, but rather chunked downloads. On the Android client the file appears to download fine, but then fails. The issue in the client is that all chunked downloads fail, and has been acknowledged as the root for the error.
This is being worked on right now: I switched get activity operation already to newest v2 system.