Initial commit
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.alibaba.sdk.android.oss.network;
|
||||
|
||||
import okhttp3.Call;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class CancellationHandler {
|
||||
private volatile boolean a;
|
||||
private volatile Call b;
|
||||
|
||||
public void a() {
|
||||
if (this.b != null) {
|
||||
this.b.cancel();
|
||||
}
|
||||
this.a = true;
|
||||
}
|
||||
|
||||
public boolean b() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public void a(Call call) {
|
||||
this.b = call;
|
||||
}
|
||||
}
|
@@ -0,0 +1,74 @@
|
||||
package com.alibaba.sdk.android.oss.network;
|
||||
|
||||
import android.content.Context;
|
||||
import com.alibaba.sdk.android.oss.callback.OSSCompletedCallback;
|
||||
import com.alibaba.sdk.android.oss.callback.OSSProgressCallback;
|
||||
import com.alibaba.sdk.android.oss.callback.OSSRetryCallback;
|
||||
import com.alibaba.sdk.android.oss.model.OSSRequest;
|
||||
import com.alibaba.sdk.android.oss.model.OSSResult;
|
||||
import okhttp3.OkHttpClient;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ExecutionContext<Request extends OSSRequest, Result extends OSSResult> {
|
||||
private Request a;
|
||||
private OkHttpClient b;
|
||||
private CancellationHandler c = new CancellationHandler();
|
||||
private Context d;
|
||||
private OSSCompletedCallback e;
|
||||
private OSSProgressCallback f;
|
||||
private OSSRetryCallback g;
|
||||
|
||||
public ExecutionContext(OkHttpClient okHttpClient, Request request, Context context) {
|
||||
a(okHttpClient);
|
||||
a((ExecutionContext<Request, Result>) request);
|
||||
this.d = context;
|
||||
}
|
||||
|
||||
public Context a() {
|
||||
return this.d;
|
||||
}
|
||||
|
||||
public CancellationHandler b() {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public OkHttpClient c() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public OSSCompletedCallback<Request, Result> d() {
|
||||
return this.e;
|
||||
}
|
||||
|
||||
public OSSProgressCallback e() {
|
||||
return this.f;
|
||||
}
|
||||
|
||||
public Request f() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public OSSRetryCallback g() {
|
||||
return this.g;
|
||||
}
|
||||
|
||||
public void a(Request request) {
|
||||
this.a = request;
|
||||
}
|
||||
|
||||
public void a(OkHttpClient okHttpClient) {
|
||||
this.b = okHttpClient;
|
||||
}
|
||||
|
||||
public void a(OSSCompletedCallback<Request, Result> oSSCompletedCallback) {
|
||||
this.e = oSSCompletedCallback;
|
||||
}
|
||||
|
||||
public void a(OSSProgressCallback oSSProgressCallback) {
|
||||
this.f = oSSProgressCallback;
|
||||
}
|
||||
|
||||
public void a(OSSRetryCallback oSSRetryCallback) {
|
||||
this.g = oSSRetryCallback;
|
||||
}
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
package com.alibaba.sdk.android.oss.network;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class NetworkProgressHelper {
|
||||
public static ProgressTouchableRequestBody a(InputStream inputStream, long j, String str, ExecutionContext executionContext) {
|
||||
return new ProgressTouchableRequestBody(inputStream, j, str, executionContext);
|
||||
}
|
||||
}
|
@@ -0,0 +1,93 @@
|
||||
package com.alibaba.sdk.android.oss.network;
|
||||
|
||||
import com.alibaba.sdk.android.oss.common.HttpMethod;
|
||||
import com.alibaba.sdk.android.oss.internal.OSSRetryHandler;
|
||||
import com.alibaba.sdk.android.oss.internal.RequestMessage;
|
||||
import com.alibaba.sdk.android.oss.internal.ResponseMessage;
|
||||
import com.alibaba.sdk.android.oss.internal.ResponseParser;
|
||||
import com.alibaba.sdk.android.oss.model.OSSResult;
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.Callable;
|
||||
import okhttp3.Headers;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Response;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class OSSRequestTask<T extends OSSResult> implements Callable<T> {
|
||||
private ResponseParser<T> a;
|
||||
private RequestMessage b;
|
||||
private ExecutionContext c;
|
||||
private OkHttpClient d;
|
||||
private OSSRetryHandler e;
|
||||
private int f = 0;
|
||||
|
||||
/* renamed from: com.alibaba.sdk.android.oss.network.OSSRequestTask$1, reason: invalid class name */
|
||||
static /* synthetic */ class AnonymousClass1 {
|
||||
static final /* synthetic */ int[] a = new int[HttpMethod.values().length];
|
||||
|
||||
static {
|
||||
try {
|
||||
a[HttpMethod.POST.ordinal()] = 1;
|
||||
} catch (NoSuchFieldError unused) {
|
||||
}
|
||||
try {
|
||||
a[HttpMethod.PUT.ordinal()] = 2;
|
||||
} catch (NoSuchFieldError unused2) {
|
||||
}
|
||||
try {
|
||||
a[HttpMethod.GET.ordinal()] = 3;
|
||||
} catch (NoSuchFieldError unused3) {
|
||||
}
|
||||
try {
|
||||
a[HttpMethod.HEAD.ordinal()] = 4;
|
||||
} catch (NoSuchFieldError unused4) {
|
||||
}
|
||||
try {
|
||||
a[HttpMethod.DELETE.ordinal()] = 5;
|
||||
} catch (NoSuchFieldError unused5) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public OSSRequestTask(RequestMessage requestMessage, ResponseParser responseParser, ExecutionContext executionContext, int i) {
|
||||
this.a = responseParser;
|
||||
this.b = requestMessage;
|
||||
this.c = executionContext;
|
||||
this.d = executionContext.c();
|
||||
this.e = new OSSRetryHandler(i);
|
||||
}
|
||||
|
||||
private ResponseMessage a(RequestMessage requestMessage, Response response) {
|
||||
ResponseMessage responseMessage = new ResponseMessage();
|
||||
responseMessage.a(requestMessage);
|
||||
responseMessage.a(response);
|
||||
HashMap hashMap = new HashMap();
|
||||
Headers headers = response.headers();
|
||||
for (int i = 0; i < headers.size(); i++) {
|
||||
hashMap.put(headers.name(i), headers.value(i));
|
||||
}
|
||||
responseMessage.a(hashMap);
|
||||
responseMessage.a(response.code());
|
||||
responseMessage.a(response.body().contentLength());
|
||||
responseMessage.a(response.body().byteStream());
|
||||
return responseMessage;
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:115:0x018c A[Catch: Exception -> 0x02af, TryCatch #1 {Exception -> 0x02af, blocks: (B:3:0x0004, B:5:0x000c, B:6:0x0019, B:8:0x003a, B:9:0x0057, B:11:0x005d, B:13:0x0074, B:24:0x01f1, B:104:0x00bb, B:105:0x00c1, B:106:0x00c7, B:109:0x00d2, B:111:0x00e1, B:115:0x018c, B:117:0x0194, B:118:0x019f, B:120:0x01c0, B:121:0x01dd, B:122:0x00f8, B:124:0x0100, B:127:0x011d, B:128:0x0124, B:129:0x0125, B:131:0x012d, B:137:0x015d, B:142:0x0167, B:143:0x016a, B:147:0x016b, B:149:0x0173, B:150:0x0181, B:152:0x02a7, B:153:0x02ae), top: B:2:0x0004 }] */
|
||||
/* JADX WARN: Removed duplicated region for block: B:119:0x01be */
|
||||
/* JADX WARN: Removed duplicated region for block: B:51:0x036d */
|
||||
/* JADX WARN: Removed duplicated region for block: B:62:0x039f */
|
||||
/* JADX WARN: Removed duplicated region for block: B:88:0x0300 A[EXC_TOP_SPLITTER, SYNTHETIC] */
|
||||
@Override // java.util.concurrent.Callable
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct code enable 'Show inconsistent code' option in preferences
|
||||
*/
|
||||
public T call() throws java.lang.Exception {
|
||||
/*
|
||||
Method dump skipped, instructions count: 1071
|
||||
To view this dump change 'Code comments level' option to 'DEBUG'
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: com.alibaba.sdk.android.oss.network.OSSRequestTask.call():com.alibaba.sdk.android.oss.model.OSSResult");
|
||||
}
|
||||
}
|
@@ -0,0 +1,63 @@
|
||||
package com.alibaba.sdk.android.oss.network;
|
||||
|
||||
import com.alibaba.sdk.android.oss.callback.OSSProgressCallback;
|
||||
import com.alibaba.sdk.android.oss.model.OSSRequest;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import okhttp3.MediaType;
|
||||
import okhttp3.RequestBody;
|
||||
import okio.BufferedSink;
|
||||
import okio.Okio;
|
||||
import okio.Source;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ProgressTouchableRequestBody<T extends OSSRequest> extends RequestBody {
|
||||
private InputStream a;
|
||||
private String b;
|
||||
private long c;
|
||||
private OSSProgressCallback d;
|
||||
private T e;
|
||||
|
||||
public ProgressTouchableRequestBody(InputStream inputStream, long j, String str, ExecutionContext executionContext) {
|
||||
this.a = inputStream;
|
||||
this.b = str;
|
||||
this.c = j;
|
||||
this.d = executionContext.e();
|
||||
this.e = (T) executionContext.f();
|
||||
}
|
||||
|
||||
@Override // okhttp3.RequestBody
|
||||
public long contentLength() throws IOException {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
@Override // okhttp3.RequestBody
|
||||
public MediaType contentType() {
|
||||
return MediaType.parse(this.b);
|
||||
}
|
||||
|
||||
@Override // okhttp3.RequestBody
|
||||
public void writeTo(BufferedSink bufferedSink) throws IOException {
|
||||
Source source = Okio.source(this.a);
|
||||
long j = 0;
|
||||
while (true) {
|
||||
long j2 = this.c;
|
||||
if (j >= j2) {
|
||||
break;
|
||||
}
|
||||
long read = source.read(bufferedSink.buffer(), Math.min(j2 - j, 2048L));
|
||||
if (read == -1) {
|
||||
break;
|
||||
}
|
||||
j += read;
|
||||
bufferedSink.flush();
|
||||
OSSProgressCallback oSSProgressCallback = this.d;
|
||||
if (oSSProgressCallback != null && j != 0) {
|
||||
oSSProgressCallback.a(this.e, j, this.c);
|
||||
}
|
||||
}
|
||||
if (source != null) {
|
||||
source.close();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user