5120: Put back unwanted changes

This commit is contained in:
Ankush Bose 2022-12-18 15:37:11 +05:30
parent cc115f1e76
commit f96a5edbb9
No known key found for this signature in database
GPG key ID: 66494F34333829DA

View file

@ -19,34 +19,30 @@ import org.wikipedia.dataclient.okhttp.HttpStatusException;
import timber.log.Timber; import timber.log.Timber;
public final class OkHttpConnectionFactory { public final class OkHttpConnectionFactory {
private static final String CACHE_DIR_NAME = "okhttp-cache"; private static final String CACHE_DIR_NAME = "okhttp-cache";
private static final long NET_CACHE_SIZE = 64 * 1024 * 1024; private static final long NET_CACHE_SIZE = 64 * 1024 * 1024;
@NonNull @NonNull private static final Cache NET_CACHE = new Cache(new File(CommonsApplication.getInstance().getCacheDir(),
private static final Cache NET_CACHE = new Cache(
new File(CommonsApplication.getInstance().getCacheDir(),
CACHE_DIR_NAME), NET_CACHE_SIZE); CACHE_DIR_NAME), NET_CACHE_SIZE);
@NonNull @NonNull
private static final OkHttpClient CLIENT = createClient(); private static final OkHttpClient CLIENT = createClient();
@NonNull @NonNull public static OkHttpClient getClient() {
public static OkHttpClient getClient() {
return CLIENT; return CLIENT;
} }
@NonNull @NonNull
private static OkHttpClient createClient() { private static OkHttpClient createClient() {
return new OkHttpClient.Builder() return new OkHttpClient.Builder()
.cookieJar(SharedPreferenceCookieManager.getInstance()) .cookieJar(SharedPreferenceCookieManager.getInstance())
.cache(NET_CACHE) .cache(NET_CACHE)
.connectTimeout(120, TimeUnit.SECONDS) .connectTimeout(120, TimeUnit.SECONDS)
.writeTimeout(120, TimeUnit.SECONDS) .writeTimeout(120, TimeUnit.SECONDS)
.readTimeout(120, TimeUnit.SECONDS) .readTimeout(120, TimeUnit.SECONDS)
.addInterceptor(getLoggingInterceptor()) .addInterceptor(getLoggingInterceptor())
.addInterceptor(new UnsuccessfulResponseInterceptor()) .addInterceptor(new UnsuccessfulResponseInterceptor())
.addInterceptor(new CommonHeaderRequestInterceptor()) .addInterceptor(new CommonHeaderRequestInterceptor())
.build(); .build();
} }
private static HttpLoggingInterceptor getLoggingInterceptor() { private static HttpLoggingInterceptor getLoggingInterceptor() {
@ -65,14 +61,13 @@ public final class OkHttpConnectionFactory {
@NonNull @NonNull
public Response intercept(@NonNull final Chain chain) throws IOException { public Response intercept(@NonNull final Chain chain) throws IOException {
final Request request = chain.request().newBuilder() final Request request = chain.request().newBuilder()
.header("User-Agent", CommonsApplication.getInstance().getUserAgent()) .header("User-Agent", CommonsApplication.getInstance().getUserAgent())
.build(); .build();
return chain.proceed(request); return chain.proceed(request);
} }
} }
public static class UnsuccessfulResponseInterceptor implements Interceptor { public static class UnsuccessfulResponseInterceptor implements Interceptor {
private static final List<String> DO_NOT_INTERCEPT = Collections.singletonList( private static final List<String> DO_NOT_INTERCEPT = Collections.singletonList(
"api.php?format=json&formatversion=2&errorformat=plaintext&action=upload&ignorewarnings=1"); "api.php?format=json&formatversion=2&errorformat=plaintext&action=upload&ignorewarnings=1");
@ -84,7 +79,7 @@ public final class OkHttpConnectionFactory {
final Response rsp = chain.proceed(chain.request()); final Response rsp = chain.proceed(chain.request());
// Do not intercept certain requests and let the caller handle the errors // Do not intercept certain requests and let the caller handle the errors
if (isExcludedUrl(chain.request())) { if(isExcludedUrl(chain.request())) {
return rsp; return rsp;
} }
if (rsp.isSuccessful()) { if (rsp.isSuccessful()) {
@ -102,8 +97,8 @@ public final class OkHttpConnectionFactory {
private boolean isExcludedUrl(final Request request) { private boolean isExcludedUrl(final Request request) {
final String requestUrl = request.url().toString(); final String requestUrl = request.url().toString();
for (final String url : DO_NOT_INTERCEPT) { for(final String url: DO_NOT_INTERCEPT) {
if (requestUrl.contains(url)) { if(requestUrl.contains(url)) {
return true; return true;
} }
} }