1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +00:00

Use custom connection builder to work with http requests along with AppAuth library

This commit is contained in:
davigonz 2020-01-24 12:18:29 +01:00
parent fb8dc389a4
commit b7033e53bf
2 changed files with 39 additions and 0 deletions

View File

@ -8,6 +8,7 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
api 'com.gitlab.ownclouders:dav4android:oc_support_1.0.1'
api 'com.github.hannesa2:Logcat:1.6.0'
api 'net.openid:appauth:0.7.1'
}
allOpen {

View File

@ -0,0 +1,38 @@
package com.owncloud.android.lib.common.authentication.oauth;
import android.net.Uri;
import androidx.annotation.NonNull;
import net.openid.appauth.Preconditions;
import net.openid.appauth.connectivity.ConnectionBuilder;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.concurrent.TimeUnit;
/**
* Based on {@link net.openid.appauth.connectivity.DefaultConnectionBuilder} but permitting http connections in addition
* to https connections
*/
public final class OAuthConnectionBuilder implements ConnectionBuilder {
/**
* The singleton instance of the default connection builder.
*/
public static final OAuthConnectionBuilder INSTANCE = new OAuthConnectionBuilder();
private static final int CONNECTION_TIMEOUT_MS = (int) TimeUnit.SECONDS.toMillis(15);
private static final int READ_TIMEOUT_MS = (int) TimeUnit.SECONDS.toMillis(10);
@NonNull
@Override
public HttpURLConnection openConnection(@NonNull Uri uri) throws IOException {
Preconditions.checkNotNull(uri, "url must not be null");
HttpURLConnection conn = (HttpURLConnection) new URL(uri.toString()).openConnection();
conn.setConnectTimeout(CONNECTION_TIMEOUT_MS);
conn.setReadTimeout(READ_TIMEOUT_MS);
conn.setInstanceFollowRedirects(false);
return conn;
}
}