Initial commit

This commit is contained in:
2025-05-13 19:24:51 +02:00
commit a950f49678
10604 changed files with 932663 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
package com.alibaba.sdk.android.oss;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/* loaded from: classes.dex */
public class ClientConfiguration {
private String g;
private int h;
private String i;
private String l;
private int a = 5;
private int b = 60000;
private int c = 60000;
private long d = 5242880;
private int e = 2;
private List<String> f = new ArrayList();
private boolean j = true;
private boolean k = false;
private boolean m = false;
private boolean n = false;
public static ClientConfiguration o() {
return new ClientConfiguration();
}
public int a() {
return this.c;
}
public void b(int i) {
this.a = i;
}
public void c(int i) {
this.e = i;
}
public void d(int i) {
this.b = i;
}
public int e() {
return this.a;
}
public int f() {
return this.e;
}
public long g() {
return this.d;
}
public String h() {
return this.g;
}
public int i() {
return this.h;
}
public int j() {
return this.b;
}
public boolean k() {
return this.k;
}
public boolean l() {
return this.n;
}
public boolean m() {
return this.j;
}
public boolean n() {
return this.m;
}
public void a(int i) {
this.c = i;
}
public List<String> b() {
return Collections.unmodifiableList(this.f);
}
public String c() {
return this.i;
}
public String d() {
return this.l;
}
}

View File

@@ -0,0 +1,46 @@
package com.alibaba.sdk.android.oss;
import com.alibaba.sdk.android.oss.common.OSSLog;
/* loaded from: classes.dex */
public class ClientException extends Exception {
private Boolean canceled;
public ClientException() {
this.canceled = false;
}
@Override // java.lang.Throwable
public String getMessage() {
String message = super.getMessage();
if (getCause() == null) {
return message;
}
return getCause().getMessage() + "\n" + message;
}
public Boolean isCanceledException() {
return this.canceled;
}
public ClientException(String str) {
super("[ErrorMessage]: " + str);
this.canceled = false;
}
public ClientException(Throwable th) {
super(th);
this.canceled = false;
}
public ClientException(String str, Throwable th) {
this(str, th, false);
}
public ClientException(String str, Throwable th, Boolean bool) {
super("[ErrorMessage]: " + str, th);
this.canceled = false;
this.canceled = bool;
OSSLog.a(this);
}
}

View File

@@ -0,0 +1,11 @@
package com.alibaba.sdk.android.oss;
import com.alibaba.sdk.android.oss.callback.OSSCompletedCallback;
import com.alibaba.sdk.android.oss.internal.OSSAsyncTask;
import com.alibaba.sdk.android.oss.model.PutObjectRequest;
import com.alibaba.sdk.android.oss.model.PutObjectResult;
/* loaded from: classes.dex */
public interface OSS {
OSSAsyncTask<PutObjectResult> a(PutObjectRequest putObjectRequest, OSSCompletedCallback<PutObjectRequest, PutObjectResult> oSSCompletedCallback);
}

View File

@@ -0,0 +1,22 @@
package com.alibaba.sdk.android.oss;
import android.content.Context;
import com.alibaba.sdk.android.oss.callback.OSSCompletedCallback;
import com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider;
import com.alibaba.sdk.android.oss.internal.OSSAsyncTask;
import com.alibaba.sdk.android.oss.model.PutObjectRequest;
import com.alibaba.sdk.android.oss.model.PutObjectResult;
/* loaded from: classes.dex */
public class OSSClient implements OSS {
private OSS a;
public OSSClient(Context context, String str, OSSCredentialProvider oSSCredentialProvider, ClientConfiguration clientConfiguration) {
this.a = new OSSImpl(context, str, oSSCredentialProvider, clientConfiguration);
}
@Override // com.alibaba.sdk.android.oss.OSS
public OSSAsyncTask<PutObjectResult> a(PutObjectRequest putObjectRequest, OSSCompletedCallback<PutObjectRequest, PutObjectResult> oSSCompletedCallback) {
return this.a.a(putObjectRequest, oSSCompletedCallback);
}
}

View File

@@ -0,0 +1,54 @@
package com.alibaba.sdk.android.oss;
import android.content.Context;
import com.alibaba.sdk.android.oss.callback.OSSCompletedCallback;
import com.alibaba.sdk.android.oss.common.OSSLogToFileUtils;
import com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider;
import com.alibaba.sdk.android.oss.common.utils.OSSUtils;
import com.alibaba.sdk.android.oss.internal.ExtensionRequestOperation;
import com.alibaba.sdk.android.oss.internal.InternalRequestOperation;
import com.alibaba.sdk.android.oss.internal.OSSAsyncTask;
import com.alibaba.sdk.android.oss.model.PutObjectRequest;
import com.alibaba.sdk.android.oss.model.PutObjectResult;
import java.net.URI;
import java.net.URISyntaxException;
/* loaded from: classes.dex */
class OSSImpl implements OSS {
private URI a;
private InternalRequestOperation b;
private ClientConfiguration c;
public OSSImpl(Context context, String str, OSSCredentialProvider oSSCredentialProvider, ClientConfiguration clientConfiguration) {
OSSLogToFileUtils.a(context.getApplicationContext(), clientConfiguration);
try {
String trim = str.trim();
if (!trim.startsWith("http")) {
trim = "http://" + trim;
}
this.a = new URI(trim);
if (oSSCredentialProvider == null) {
throw new IllegalArgumentException("CredentialProvider can't be null.");
}
Boolean bool = false;
try {
bool = Boolean.valueOf(OSSUtils.e(this.a.getHost()));
} catch (Exception e) {
e.printStackTrace();
}
if (this.a.getScheme().equals("https") && bool.booleanValue()) {
throw new IllegalArgumentException("endpoint should not be format with https://ip.");
}
this.c = clientConfiguration == null ? ClientConfiguration.o() : clientConfiguration;
this.b = new InternalRequestOperation(context.getApplicationContext(), this.a, oSSCredentialProvider, this.c);
new ExtensionRequestOperation(this.b);
} catch (URISyntaxException unused) {
throw new IllegalArgumentException("Endpoint must be a string like 'http://oss-cn-****.aliyuncs.com',or your cname like 'http://image.cnamedomain.com'!");
}
}
@Override // com.alibaba.sdk.android.oss.OSS
public OSSAsyncTask<PutObjectResult> a(PutObjectRequest putObjectRequest, OSSCompletedCallback<PutObjectRequest, PutObjectResult> oSSCompletedCallback) {
return this.b.a(putObjectRequest, oSSCompletedCallback);
}
}

View File

@@ -0,0 +1,66 @@
package com.alibaba.sdk.android.oss;
import com.alibaba.sdk.android.oss.common.OSSLog;
/* loaded from: classes.dex */
public class ServiceException extends Exception {
private static final long serialVersionUID = 430933593095358673L;
private String errorCode;
private String hostId;
private String partEtag;
private String partNumber;
private String rawMessage;
private String requestId;
private int statusCode;
public ServiceException(int i, String str, String str2, String str3, String str4, String str5) {
super(str);
this.statusCode = i;
this.errorCode = str2;
this.requestId = str3;
this.hostId = str4;
this.rawMessage = str5;
OSSLog.a(this);
}
public String getErrorCode() {
return this.errorCode;
}
public String getHostId() {
return this.hostId;
}
public String getPartEtag() {
return this.partEtag;
}
public String getPartNumber() {
return this.partNumber;
}
public String getRawMessage() {
return this.rawMessage;
}
public String getRequestId() {
return this.requestId;
}
public int getStatusCode() {
return this.statusCode;
}
public void setPartEtag(String str) {
this.partEtag = str;
}
public void setPartNumber(String str) {
this.partNumber = str;
}
@Override // java.lang.Throwable
public String toString() {
return "[StatusCode]: " + this.statusCode + ", [Code]: " + getErrorCode() + ", [Message]: " + getMessage() + ", [Requestid]: " + getRequestId() + ", [HostId]: " + getHostId() + ", [RawMessage]: " + getRawMessage();
}
}

View File

@@ -0,0 +1,15 @@
package com.alibaba.sdk.android.oss;
/* loaded from: classes.dex */
public class TaskCancelException extends Exception {
public TaskCancelException() {
}
public TaskCancelException(String str) {
super("[ErrorMessage]: " + str);
}
public TaskCancelException(Throwable th) {
super(th);
}
}

View File

@@ -0,0 +1,13 @@
package com.alibaba.sdk.android.oss.callback;
import com.alibaba.sdk.android.oss.ClientException;
import com.alibaba.sdk.android.oss.ServiceException;
import com.alibaba.sdk.android.oss.model.OSSRequest;
import com.alibaba.sdk.android.oss.model.OSSResult;
/* loaded from: classes.dex */
public interface OSSCompletedCallback<T1 extends OSSRequest, T2 extends OSSResult> {
void a(T1 t1, ClientException clientException, ServiceException serviceException);
void a(T1 t1, T2 t2);
}

View File

@@ -0,0 +1,6 @@
package com.alibaba.sdk.android.oss.callback;
/* loaded from: classes.dex */
public interface OSSProgressCallback<T> {
void a(T t, long j, long j2);
}

View File

@@ -0,0 +1,6 @@
package com.alibaba.sdk.android.oss.callback;
/* loaded from: classes.dex */
public interface OSSRetryCallback {
void a();
}

View File

@@ -0,0 +1,11 @@
package com.alibaba.sdk.android.oss.common;
/* loaded from: classes.dex */
public enum HttpMethod {
DELETE,
GET,
HEAD,
POST,
PUT,
OPTIONS
}

View File

@@ -0,0 +1,64 @@
package com.alibaba.sdk.android.oss.common;
import com.ubt.jimu.base.mvp.SingleClickListener;
import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/* loaded from: classes.dex */
public class LogThreadPoolManager {
private static LogThreadPoolManager f = new LogThreadPoolManager();
private final Queue<Runnable> a = new LinkedList();
private final RejectedExecutionHandler b = new RejectedExecutionHandler() { // from class: com.alibaba.sdk.android.oss.common.LogThreadPoolManager.1
@Override // java.util.concurrent.RejectedExecutionHandler
public void rejectedExecution(Runnable runnable, ThreadPoolExecutor threadPoolExecutor) {
if (LogThreadPoolManager.this.a.size() >= 200) {
LogThreadPoolManager.this.a.poll();
}
LogThreadPoolManager.this.a.offer(runnable);
}
};
private final ScheduledExecutorService c = Executors.newScheduledThreadPool(1);
private final ThreadPoolExecutor d = new ThreadPoolExecutor(1, 1, 5000, TimeUnit.MILLISECONDS, new ArrayBlockingQueue(SingleClickListener.FAST_CLICK_DELAY_TIME), new ThreadFactory(this) { // from class: com.alibaba.sdk.android.oss.common.LogThreadPoolManager.2
@Override // java.util.concurrent.ThreadFactory
public Thread newThread(Runnable runnable) {
return new Thread(runnable, "oss-android-log-thread");
}
}, this.b);
private final Runnable e = new Runnable() { // from class: com.alibaba.sdk.android.oss.common.LogThreadPoolManager.3
@Override // java.lang.Runnable
public void run() {
if (LogThreadPoolManager.this.a()) {
LogThreadPoolManager.this.d.execute((Runnable) LogThreadPoolManager.this.a.poll());
}
}
};
private LogThreadPoolManager() {
this.c.scheduleAtFixedRate(this.e, 0L, 1000L, TimeUnit.MILLISECONDS);
}
/* JADX INFO: Access modifiers changed from: private */
public boolean a() {
return !this.a.isEmpty();
}
public static LogThreadPoolManager b() {
if (f == null) {
f = new LogThreadPoolManager();
}
return f;
}
public void a(Runnable runnable) {
if (runnable != null) {
this.d.execute(runnable);
}
}
}

View File

@@ -0,0 +1,10 @@
package com.alibaba.sdk.android.oss.common;
/* loaded from: classes.dex */
public final class OSSConstants {
public static final String[] a = {"aliyuncs.com", "aliyun-inc.com", "aliyun.com"};
static {
new String[]{"aliyuncs.com", "aliyun-inc.com", "aliyun.com"};
}
}

View File

@@ -0,0 +1,77 @@
package com.alibaba.sdk.android.oss.common;
import android.util.Log;
/* loaded from: classes.dex */
public class OSSLog {
private static boolean a = false;
public static void a() {
a = true;
}
public static boolean b() {
return a;
}
public static void c(String str) {
d(str, true);
}
public static void d(String str, boolean z) {
if (a) {
Log.i("OSS-Android-SDK", "[INFO]: ".concat(str));
a(str, z);
}
}
public static void a(String str) {
a("OSS-Android-SDK", str);
}
public static void b(String str, boolean z) {
a("OSS-Android-SDK", str, z);
}
public static void c(String str, boolean z) {
b("OSS-Android-SDK", str, z);
}
public static void a(String str, String str2) {
a(str, str2, true);
}
public static void b(String str) {
b("OSS-Android-SDK", str);
}
public static void a(String str, String str2, boolean z) {
if (a) {
Log.d(str, "[Debug]: ".concat(str2));
a(str2, z);
}
}
public static void b(String str, String str2) {
a(str, str2, true);
}
public static void b(String str, String str2, boolean z) {
if (a) {
Log.d(str, "[Error]: ".concat(str2));
a(str2, z);
}
}
public static void a(Throwable th) {
if (a) {
OSSLogToFileUtils.f().a(th);
}
}
private static void a(String str, boolean z) {
if (z) {
OSSLogToFileUtils.f().a(str);
}
}
}

View File

@@ -0,0 +1,207 @@
package com.alibaba.sdk.android.oss.common;
import android.content.Context;
import android.os.Build;
import android.os.Environment;
import android.os.StatFs;
import com.alibaba.sdk.android.oss.ClientConfiguration;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.text.SimpleDateFormat;
import java.util.Date;
/* loaded from: classes.dex */
public class OSSLogToFileUtils {
private static Context c;
private static OSSLogToFileUtils d;
private static File e;
private boolean a = true;
private static LogThreadPoolManager b = LogThreadPoolManager.b();
private static SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static long g = 5242880;
private static class WriteCall implements Runnable {
private Object a;
public WriteCall(Object obj) {
this.a = obj;
}
private PrintWriter a(PrintWriter printWriter) {
printWriter.println("crash_time" + OSSLogToFileUtils.f.format(new Date()));
((Throwable) this.a).printStackTrace(printWriter);
return printWriter;
}
@Override // java.lang.Runnable
public void run() {
if (OSSLogToFileUtils.e != null) {
OSSLogToFileUtils.f();
if (OSSLogToFileUtils.c(OSSLogToFileUtils.e) > OSSLogToFileUtils.g) {
OSSLogToFileUtils.f().a();
}
try {
PrintWriter printWriter = new PrintWriter((Writer) new FileWriter(OSSLogToFileUtils.e, true), true);
if (this.a instanceof Throwable) {
a(printWriter);
} else {
printWriter.println(OSSLogToFileUtils.f().a((StackTraceElement[]) null) + " - " + this.a.toString());
}
printWriter.println("------>end of log");
printWriter.println();
printWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private OSSLogToFileUtils() {
}
public static OSSLogToFileUtils f() {
if (d == null) {
synchronized (OSSLogToFileUtils.class) {
if (d == null) {
d = new OSSLogToFileUtils();
}
}
}
return d;
}
/* JADX INFO: Access modifiers changed from: private */
public File g() {
File file;
File file2 = null;
boolean z = false;
try {
boolean z2 = true;
if (this.a && Environment.getExternalStorageState().equals("mounted") && Build.VERSION.SDK_INT < 29) {
if (h() <= g / 1024) {
z2 = false;
}
file = new File(Environment.getExternalStorageDirectory().getPath() + File.separator + "OSSLog");
} else {
if (i() <= g / 1024) {
z2 = false;
}
file = new File(c.getFilesDir().getPath() + File.separator + "OSSLog");
}
z = z2;
} catch (Exception unused) {
file = null;
}
if (z) {
if (!file.exists()) {
file.mkdirs();
}
file2 = new File(file.getPath() + "/logs.csv");
if (!file2.exists()) {
a(file2);
}
}
return file2;
}
private long h() {
long j = 0;
if ("mounted".equals(Environment.getExternalStorageState())) {
try {
j = (Build.VERSION.SDK_INT >= 18 ? new StatFs(Environment.getExternalStorageDirectory().getPath()).getAvailableBlocksLong() : r3.getAvailableBlocks()) * r3.getBlockSize();
} catch (Exception unused) {
}
}
OSSLog.b("sd卡存储空间:" + String.valueOf(j) + "kb", false);
return j;
}
private long i() {
long j;
try {
j = ((Build.VERSION.SDK_INT >= 18 ? new StatFs(Environment.getDataDirectory().getPath()).getAvailableBlocksLong() : r1.getAvailableBlocks()) * r1.getBlockSize()) / 1024;
} catch (Exception unused) {
j = 0;
}
OSSLog.b("内部存储空间:" + String.valueOf(j) + "kb", false);
return j;
}
public static long c(File file) {
if (file == null || !file.exists()) {
return 0L;
}
return file.length();
}
public static void a(Context context, ClientConfiguration clientConfiguration) {
File file;
OSSLog.b("init ...", false);
if (clientConfiguration != null) {
g = clientConfiguration.g();
}
if (c != null && d != null && (file = e) != null && file.exists()) {
OSSLog.b("LogToFileUtils has been init ...", false);
return;
}
c = context.getApplicationContext();
d = f();
b.a(new Runnable() { // from class: com.alibaba.sdk.android.oss.common.OSSLogToFileUtils.1
@Override // java.lang.Runnable
public void run() {
File unused = OSSLogToFileUtils.e = OSSLogToFileUtils.d.g();
if (OSSLogToFileUtils.e != null) {
OSSLog.d("LogFilePath is: " + OSSLogToFileUtils.e.getPath(), false);
if (OSSLogToFileUtils.g < OSSLogToFileUtils.c(OSSLogToFileUtils.e)) {
OSSLog.d("init reset log file", false);
OSSLogToFileUtils.d.a();
}
}
}
});
}
public void a() {
OSSLog.b("Reset Log File ... ", false);
if (!e.getParentFile().exists()) {
OSSLog.b("Reset Log make File dir ... ", false);
e.getParentFile().mkdir();
}
File file = new File(e.getParent() + "/logs.csv");
if (file.exists()) {
file.delete();
}
a(file);
}
public void a(File file) {
try {
file.createNewFile();
} catch (Exception e2) {
OSSLog.c("Create log file failure !!! " + e2.toString(), false);
}
}
/* JADX INFO: Access modifiers changed from: private */
public String a(StackTraceElement[] stackTraceElementArr) {
if (stackTraceElementArr != null) {
return null;
}
return "[" + f.format(new Date()) + "]";
}
public synchronized void a(Object obj) {
if (OSSLog.b()) {
if (c != null && d != null && e != null) {
if (!e.exists()) {
a();
}
b.a(new WriteCall(obj));
}
}
}
}

View File

@@ -0,0 +1,60 @@
package com.alibaba.sdk.android.oss.common.auth;
import com.alibaba.sdk.android.oss.common.OSSLog;
import com.alibaba.sdk.android.oss.common.utils.BinaryUtil;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
/* loaded from: classes.dex */
public class HmacSHA1Signature {
private static final Object a = new Object();
private static Mac b;
public String a() {
return "HmacSHA1";
}
public String a(String str, String str2) {
OSSLog.b(a(), false);
OSSLog.b(b(), false);
try {
OSSLog.a("sign start");
byte[] a2 = a(str.getBytes("UTF-8"), str2.getBytes("UTF-8"));
OSSLog.a("base64 start");
return BinaryUtil.a(a2);
} catch (UnsupportedEncodingException unused) {
throw new RuntimeException("Unsupported algorithm: UTF-8");
}
}
public String b() {
return "1";
}
private byte[] a(byte[] bArr, byte[] bArr2) {
Mac mac;
try {
if (b == null) {
synchronized (a) {
if (b == null) {
b = Mac.getInstance(a());
}
}
}
try {
mac = (Mac) b.clone();
} catch (CloneNotSupportedException unused) {
mac = Mac.getInstance(a());
}
mac.init(new SecretKeySpec(bArr, a()));
return mac.doFinal(bArr2);
} catch (InvalidKeyException unused2) {
throw new RuntimeException("key must not be null");
} catch (NoSuchAlgorithmException unused3) {
throw new RuntimeException("Unsupported algorithm: HmacSHA1");
}
}
}

View File

@@ -0,0 +1,8 @@
package com.alibaba.sdk.android.oss.common.auth;
import com.alibaba.sdk.android.oss.ClientException;
/* loaded from: classes.dex */
public interface OSSCredentialProvider {
OSSFederationToken a() throws ClientException;
}

View File

@@ -0,0 +1,11 @@
package com.alibaba.sdk.android.oss.common.auth;
/* loaded from: classes.dex */
public abstract class OSSCustomSignerCredentialProvider implements OSSCredentialProvider {
@Override // com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider
public OSSFederationToken a() {
return null;
}
public abstract String a(String str);
}

View File

@@ -0,0 +1,23 @@
package com.alibaba.sdk.android.oss.common.auth;
import com.alibaba.sdk.android.oss.ClientException;
import com.alibaba.sdk.android.oss.common.OSSLog;
import com.alibaba.sdk.android.oss.common.utils.DateUtil;
/* loaded from: classes.dex */
public abstract class OSSFederationCredentialProvider implements OSSCredentialProvider {
private volatile OSSFederationToken a;
@Override // com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider
public abstract OSSFederationToken a() throws ClientException;
public synchronized OSSFederationToken b() throws ClientException {
if (this.a == null || DateUtil.b() / 1000 > this.a.a() - 300) {
if (this.a != null) {
OSSLog.a("token expired! current time: " + (DateUtil.b() / 1000) + " token expired: " + this.a.a());
}
this.a = a();
}
return this.a;
}
}

View File

@@ -0,0 +1,52 @@
package com.alibaba.sdk.android.oss.common.auth;
/* loaded from: classes.dex */
public class OSSFederationToken {
private String a;
private String b;
private String c;
private long d;
public OSSFederationToken(String str, String str2, String str3, long j) {
b(str);
c(str2);
a(str3);
a(j);
}
public void a(String str) {
this.c = str;
}
public String b() {
return this.c;
}
public String c() {
return this.a;
}
public String d() {
return this.b;
}
public String toString() {
return "OSSFederationToken [tempAk=" + this.a + ", tempSk=" + this.b + ", securityToken=" + this.c + ", expiration=" + this.d + "]";
}
public long a() {
return this.d;
}
public void b(String str) {
this.a = str;
}
public void c(String str) {
this.b = str;
}
public void a(long j) {
this.d = j;
}
}

View File

@@ -0,0 +1,21 @@
package com.alibaba.sdk.android.oss.common.auth;
@Deprecated
/* loaded from: classes.dex */
public class OSSPlainTextAKSKCredentialProvider implements OSSCredentialProvider {
private String a;
private String b;
@Override // com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider
public OSSFederationToken a() {
return null;
}
public String b() {
return this.a;
}
public String c() {
return this.b;
}
}

View File

@@ -0,0 +1,31 @@
package com.alibaba.sdk.android.oss.common.auth;
/* loaded from: classes.dex */
public class OSSStsTokenCredentialProvider implements OSSCredentialProvider {
private String a;
private String b;
private String c;
public OSSStsTokenCredentialProvider(String str, String str2, String str3) {
a(str.trim());
b(str2.trim());
c(str3.trim());
}
public void a(String str) {
this.a = str;
}
public void b(String str) {
this.b = str;
}
public void c(String str) {
this.c = str;
}
@Override // com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider
public OSSFederationToken a() {
return new OSSFederationToken(this.a, this.b, this.c, Long.MAX_VALUE);
}
}

View File

@@ -0,0 +1,10 @@
package com.alibaba.sdk.android.oss.common.utils;
import android.util.Base64;
/* loaded from: classes.dex */
public class BinaryUtil {
public static String a(byte[] bArr) {
return new String(Base64.encode(bArr, 0)).trim();
}
}

View File

@@ -0,0 +1,72 @@
package com.alibaba.sdk.android.oss.common.utils;
import com.ijm.dataencryption.de.DataDecryptTool;
import java.lang.reflect.Array;
import java.util.zip.Checksum;
/* loaded from: classes.dex */
public class CRC64 implements Checksum {
private static final long[][] b = (long[][]) Array.newInstance((Class<?>) long.class, 8, DataDecryptTool.DECRYPT_ALL_FILE);
private long a = 0;
static {
for (int i = 0; i < 256; i++) {
long j = i;
for (int i2 = 0; i2 < 8; i2++) {
j = (j & 1) == 1 ? (j >>> 1) ^ (-3932672073523589310L) : j >>> 1;
}
b[0][i] = j;
}
for (int i3 = 0; i3 < 256; i3++) {
long j2 = b[0][i3];
for (int i4 = 1; i4 < 8; i4++) {
long[][] jArr = b;
j2 = (j2 >>> 8) ^ jArr[0][(int) (255 & j2)];
jArr[i4][i3] = j2;
}
}
}
public void a(byte[] bArr, int i) {
update(bArr, 0, i);
}
@Override // java.util.zip.Checksum
public long getValue() {
return this.a;
}
@Override // java.util.zip.Checksum
public void reset() {
this.a = 0L;
}
@Override // java.util.zip.Checksum
public void update(int i) {
byte[] bArr = {(byte) (i & 255)};
a(bArr, bArr.length);
}
@Override // java.util.zip.Checksum
public void update(byte[] bArr, int i, int i2) {
this.a = ~this.a;
int i3 = i;
int i4 = i2;
while (i4 >= 8) {
long[][] jArr = b;
long[] jArr2 = jArr[7];
long j = this.a;
this.a = ((((((jArr[6][(int) ((bArr[i3 + 1] & 255) ^ ((j >>> 8) & 255))] ^ jArr2[(int) ((j & 255) ^ (bArr[i3] & 255))]) ^ jArr[5][(int) (((j >>> 16) & 255) ^ (bArr[i3 + 2] & 255))]) ^ jArr[4][(int) (((j >>> 24) & 255) ^ (bArr[i3 + 3] & 255))]) ^ jArr[3][(int) (((j >>> 32) & 255) ^ (bArr[i3 + 4] & 255))]) ^ jArr[2][(int) (((j >>> 40) & 255) ^ (bArr[i3 + 5] & 255))]) ^ jArr[1][(int) ((255 & (j >>> 48)) ^ (bArr[i3 + 6] & 255))]) ^ jArr[0][(int) ((j >>> 56) ^ (bArr[i3 + 7] & 255))];
i3 += 8;
i4 -= 8;
}
while (i4 > 0) {
long[] jArr3 = b[0];
long j2 = this.a;
this.a = (j2 >>> 8) ^ jArr3[(int) ((bArr[i3] ^ j2) & 255)];
i3++;
i4--;
}
this.a = ~this.a;
}
}

View File

@@ -0,0 +1,18 @@
package com.alibaba.sdk.android.oss.common.utils;
import java.util.HashMap;
/* loaded from: classes.dex */
public class CaseInsensitiveHashMap<k, v> extends HashMap<k, v> {
@Override // java.util.HashMap, java.util.AbstractMap, java.util.Map
public v get(Object obj) {
if (obj == null || containsKey(obj) || !(obj instanceof String)) {
return (v) super.get(obj);
}
String lowerCase = ((String) obj).toLowerCase();
if (containsKey(lowerCase)) {
return get(lowerCase);
}
return null;
}
}

View File

@@ -0,0 +1,45 @@
package com.alibaba.sdk.android.oss.common.utils;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.SimpleTimeZone;
/* loaded from: classes.dex */
public class DateUtil {
private static volatile long a;
public static String a(Date date) {
return c().format(date);
}
public static long b() {
return System.currentTimeMillis() + a;
}
private static DateFormat c() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.US);
simpleDateFormat.setTimeZone(new SimpleTimeZone(0, "GMT"));
return simpleDateFormat;
}
public static Date a(String str) throws ParseException {
return c().parse(str);
}
public static synchronized String a() {
String a2;
synchronized (DateUtil.class) {
a2 = a(new Date(b()));
}
return a2;
}
public static synchronized void a(long j) {
synchronized (DateUtil.class) {
a = j - System.currentTimeMillis();
}
}
}

View File

@@ -0,0 +1,17 @@
package com.alibaba.sdk.android.oss.common.utils;
import java.net.URLEncoder;
/* loaded from: classes.dex */
public class HttpUtil {
public static String a(String str, String str2) {
if (str == null) {
return "";
}
try {
return URLEncoder.encode(str, str2).replace("+", "%20").replace("*", "%2A").replace("%7E", "~").replace("%2F", "/");
} catch (Exception e) {
throw new IllegalArgumentException("failed to encode url!", e);
}
}
}

View File

@@ -0,0 +1,120 @@
package com.alibaba.sdk.android.oss.common.utils;
import com.alibaba.sdk.android.oss.common.OSSLog;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/* loaded from: classes.dex */
public class HttpdnsMini {
private static HttpdnsMini c;
private ConcurrentMap<String, HostObject> a = new ConcurrentHashMap();
private ExecutorService b = Executors.newFixedThreadPool(5);
class HostObject {
private String a;
private String b;
private long c;
private long d;
HostObject(HttpdnsMini httpdnsMini) {
}
public String a() {
return this.a;
}
public String b() {
return this.b;
}
public long c() {
return this.d;
}
public long d() {
return this.c;
}
public boolean e() {
return c() + this.c < System.currentTimeMillis() / 1000;
}
public boolean f() {
return (c() + this.c) + 600 > System.currentTimeMillis() / 1000;
}
public String toString() {
return "[hostName=" + a() + ", ip=" + this.b + ", ttl=" + d() + ", queryTime=" + this.d + "]";
}
public void a(String str) {
this.a = str;
}
public void b(String str) {
this.b = str;
}
public void a(long j) {
this.d = j;
}
public void b(long j) {
this.c = j;
}
}
class QueryHostTask implements Callable<String> {
private String a;
private boolean b = false;
public QueryHostTask(String str) {
this.a = str;
}
/* JADX WARN: Removed duplicated region for block: B:12:0x015f */
/* JADX WARN: Removed duplicated region for block: B:15:0x0167 A[RETURN] */
/* JADX WARN: Removed duplicated region for block: B:56:0x016b 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 java.lang.String call() {
/*
Method dump skipped, instructions count: 372
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: com.alibaba.sdk.android.oss.common.utils.HttpdnsMini.QueryHostTask.call():java.lang.String");
}
}
private HttpdnsMini() {
}
public static HttpdnsMini a() {
if (c == null) {
synchronized (HttpdnsMini.class) {
if (c == null) {
c = new HttpdnsMini();
}
}
}
return c;
}
public String a(String str) {
HostObject hostObject = this.a.get(str);
if (hostObject == null || hostObject.e()) {
OSSLog.a("[httpdnsmini] - refresh host: " + str);
this.b.submit(new QueryHostTask(str));
}
if (hostObject == null || !hostObject.f()) {
return null;
}
return hostObject.b();
}
}

View File

@@ -0,0 +1,321 @@
package com.alibaba.sdk.android.oss.common.utils;
import android.content.Context;
import android.net.InetAddresses;
import android.os.Build;
import android.text.TextUtils;
import android.util.Base64;
import android.webkit.MimeTypeMap;
import com.alibaba.sdk.android.oss.common.OSSConstants;
import com.alibaba.sdk.android.oss.common.OSSLog;
import com.alibaba.sdk.android.oss.common.auth.HmacSHA1Signature;
import com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider;
import com.alibaba.sdk.android.oss.common.auth.OSSCustomSignerCredentialProvider;
import com.alibaba.sdk.android.oss.common.auth.OSSFederationCredentialProvider;
import com.alibaba.sdk.android.oss.common.auth.OSSFederationToken;
import com.alibaba.sdk.android.oss.common.auth.OSSPlainTextAKSKCredentialProvider;
import com.alibaba.sdk.android.oss.common.auth.OSSStsTokenCredentialProvider;
import com.alibaba.sdk.android.oss.exception.InconsistentException;
import com.alibaba.sdk.android.oss.internal.RequestMessage;
import com.alibaba.sdk.android.oss.model.CopyObjectRequest;
import com.alibaba.sdk.android.oss.model.OSSRequest;
import com.alibaba.sdk.android.oss.model.ObjectMetadata;
import com.ubt.jimu.course.view.fragment.JimuMissionListFragment;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import org.json.JSONObject;
/* loaded from: classes.dex */
public class OSSUtils {
private static final List<String> a = Arrays.asList("bucketInfo", "acl", "uploads", "location", "cors", "logging", "website", "referer", "lifecycle", "delete", "append", "uploadId", "partNumber", "security-token", JimuMissionListFragment.POSITION, "response-cache-control", "response-content-disposition", "response-content-encoding", "response-content-language", "response-content-type", "response-expires", "x-oss-process", "sequential", "symlink", "restore");
public static void a(Map<String, String> map, ObjectMetadata objectMetadata) {
if (objectMetadata == null) {
return;
}
objectMetadata.a();
throw null;
}
public static boolean a(OSSRequest oSSRequest) {
return true;
}
public static String b(String str, String str2, String str3) {
try {
return "OSS " + str + ":" + new HmacSHA1Signature().a(str2, str3).trim();
} catch (Exception e) {
throw new IllegalStateException("Compute signature failed!", e);
}
}
public static boolean b(OSSRequest oSSRequest) {
return true;
}
public static boolean c(String str) {
return TextUtils.isEmpty(str);
}
public static boolean d(String str) {
if (TextUtils.isEmpty(str)) {
return false;
}
for (String str2 : OSSConstants.a) {
if (str.toLowerCase().endsWith(str2)) {
return true;
}
}
return false;
}
public static boolean e(String str) throws Exception {
if (str == null) {
throw new Exception("host is null");
}
if (Build.VERSION.SDK_INT >= 29) {
return InetAddresses.isNumericAddress(str);
}
try {
return ((Boolean) Class.forName("java.net.InetAddress").getMethod("isNumeric", String.class).invoke(null, str)).booleanValue();
} catch (ClassNotFoundException | IllegalAccessException | IllegalArgumentException | NoSuchMethodException | InvocationTargetException unused) {
return false;
}
}
public static boolean f(String str) {
if (str == null) {
return false;
}
return str.matches("^[a-z0-9][a-z0-9\\-]{1,61}[a-z0-9]$");
}
public static boolean g(String str) {
if (str != null && str.length() > 0 && str.length() <= 1023) {
try {
str.getBytes("utf-8");
char[] charArray = str.toCharArray();
char c = charArray[0];
if (c != '/' && c != '\\') {
for (char c2 : charArray) {
if (c2 != '\t' && c2 < ' ') {
return false;
}
}
return true;
}
} catch (UnsupportedEncodingException unused) {
}
}
return false;
}
public static String a(RequestMessage requestMessage) {
StringBuilder sb = new StringBuilder();
sb.append(requestMessage.j().toString() + "\n");
Map<String, String> d = requestMessage.d();
TreeMap treeMap = new TreeMap();
if (d != null) {
for (Map.Entry<String, String> entry : d.entrySet()) {
if (entry.getKey() != null) {
String lowerCase = entry.getKey().toLowerCase();
if (lowerCase.equals("Content-Type".toLowerCase()) || lowerCase.equals("Content-MD5".toLowerCase()) || lowerCase.equals("Date".toLowerCase()) || lowerCase.startsWith("x-oss-")) {
treeMap.put(lowerCase, entry.getValue().trim());
}
}
}
}
if (!treeMap.containsKey("Content-Type".toLowerCase())) {
treeMap.put("Content-Type".toLowerCase(), "");
}
if (!treeMap.containsKey("Content-MD5".toLowerCase())) {
treeMap.put("Content-MD5".toLowerCase(), "");
}
for (Map.Entry entry2 : treeMap.entrySet()) {
String str = (String) entry2.getKey();
Object value = entry2.getValue();
if (str.startsWith("x-oss-")) {
sb.append(str);
sb.append(':');
sb.append(value);
} else {
sb.append(value);
}
sb.append("\n");
}
sb.append(a(requestMessage.g(), requestMessage.k(), requestMessage.l()));
return sb.toString();
}
public static void b(String str) {
if (!g(str)) {
throw new IllegalArgumentException("The object key is invalid. \nAn object name should be: \n1) between 1 - 1023 bytes long when encoded as UTF-8 \n2) cannot contain LF or CR or unsupported chars in XML1.0, \n3) cannot begin with \"/\" or \"\\\".");
}
}
public static void b(RequestMessage requestMessage) throws Exception {
String b;
OSSLog.a("signRequest start");
if (requestMessage.p()) {
if (requestMessage.h() != null) {
OSSCredentialProvider h = requestMessage.h();
OSSFederationToken oSSFederationToken = null;
boolean z = h instanceof OSSFederationCredentialProvider;
if (z) {
oSSFederationToken = ((OSSFederationCredentialProvider) h).b();
if (oSSFederationToken != null) {
requestMessage.d().put("x-oss-security-token", oSSFederationToken.b());
} else {
OSSLog.b("Can't get a federation token");
throw new IOException("Can't get a federation token");
}
} else if (h instanceof OSSStsTokenCredentialProvider) {
oSSFederationToken = h.a();
requestMessage.d().put("x-oss-security-token", oSSFederationToken.b());
}
String a2 = a(requestMessage);
OSSLog.a("get contentToSign");
if (!z && !(h instanceof OSSStsTokenCredentialProvider)) {
if (h instanceof OSSPlainTextAKSKCredentialProvider) {
OSSPlainTextAKSKCredentialProvider oSSPlainTextAKSKCredentialProvider = (OSSPlainTextAKSKCredentialProvider) h;
b = b(oSSPlainTextAKSKCredentialProvider.b(), oSSPlainTextAKSKCredentialProvider.c(), a2);
} else {
b = h instanceof OSSCustomSignerCredentialProvider ? ((OSSCustomSignerCredentialProvider) h).a(a2) : "---initValue---";
}
} else {
b = b(oSSFederationToken.c(), oSSFederationToken.d(), a2);
}
OSSLog.b("signed content: " + a2 + " \n --------- signature: " + b, false);
OSSLog.a("get signature");
requestMessage.d().put("Authorization", b);
return;
}
throw new IllegalStateException("当前CredentialProvider为空\n1. 请检查您是否在初始化OSSService时设置CredentialProvider;\n2. 如果您bucket为公共权限请确认获取到Bucket后已经调用Bucket中接口声明ACL;");
}
}
public static String a(String str, String str2, Map<String, String> map) {
String str3 = "/";
if (str != null || str2 != null) {
if (str2 == null) {
str3 = "/" + str + "/";
} else {
str3 = "/" + str + "/" + str2;
}
}
return a(str3, map);
}
public static String a(String str, Map<String, String> map) {
StringBuilder sb = new StringBuilder();
sb.append(str);
if (map != null) {
String[] strArr = (String[]) map.keySet().toArray(new String[map.size()]);
Arrays.sort(strArr);
char c = '?';
for (String str2 : strArr) {
if (a.contains(str2)) {
sb.append(c);
sb.append(str2);
String str3 = map.get(str2);
if (!c(str3)) {
sb.append("=");
sb.append(str3);
}
c = '&';
}
}
}
return sb.toString();
}
public static String a(Map<String, String> map, String str) {
if (map == null || map.isEmpty()) {
return null;
}
StringBuilder sb = new StringBuilder();
boolean z = true;
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
if (!z) {
sb.append("&");
}
sb.append(HttpUtil.a(key, str));
if (!c(value)) {
sb.append("=");
sb.append(HttpUtil.a(value, str));
}
z = false;
}
return sb.toString();
}
public static String a(Map<String, String> map) {
return Base64.encodeToString(new JSONObject(map).toString().getBytes(), 2);
}
public static boolean a(String str, List<String> list) {
Iterator<String> it = list.iterator();
while (it.hasNext()) {
if (str.endsWith(it.next().toLowerCase())) {
return true;
}
}
return false;
}
public static void a(boolean z, String str) {
if (!z) {
throw new IllegalArgumentException(str);
}
}
public static void a(String str) {
if (!f(str)) {
throw new IllegalArgumentException("The bucket name is invalid. \nA bucket name must: \n1) be comprised of lower-case characters, numbers or dash(-); \n2) start with lower case or numbers; \n3) be between 3-63 characters long. ");
}
}
public static void a(OSSRequest oSSRequest, RequestMessage requestMessage) {
if (a(oSSRequest)) {
a(requestMessage.g());
}
if (b(oSSRequest)) {
b(requestMessage.k());
}
if (oSSRequest instanceof CopyObjectRequest) {
b(((CopyObjectRequest) oSSRequest).c());
}
}
public static String a(String str, String str2, String str3) {
String mimeTypeFromExtension;
String mimeTypeFromExtension2;
if (str != null) {
return str;
}
MimeTypeMap singleton = MimeTypeMap.getSingleton();
return (str2 == null || (mimeTypeFromExtension2 = singleton.getMimeTypeFromExtension(str2.substring(str2.lastIndexOf(46) + 1))) == null) ? (str3 == null || (mimeTypeFromExtension = singleton.getMimeTypeFromExtension(str3.substring(str3.lastIndexOf(46) + 1))) == null) ? "application/octet-stream" : mimeTypeFromExtension : mimeTypeFromExtension2;
}
public static String a(Context context) {
StringBuilder sb = new StringBuilder();
sb.append("=====[device info]=====\n");
sb.append("[INFO]: android_version" + Build.VERSION.RELEASE + "\n");
sb.append("[INFO]: mobile_model" + Build.MODEL + "\n");
return sb.toString();
}
public static void a(Long l, Long l2, String str) throws InconsistentException {
if (l != null && l2 != null && !l.equals(l2)) {
throw new InconsistentException(l, l2, str);
}
}
}

View File

@@ -0,0 +1,36 @@
package com.alibaba.sdk.android.oss.common.utils;
import android.os.Build;
import com.alibaba.sdk.android.oss.common.OSSLog;
/* loaded from: classes.dex */
public class VersionInfoUtils {
private static String a;
public static String a(String str) {
if (OSSUtils.c(a)) {
a = "aliyun-sdk-android/" + b() + a();
}
if (OSSUtils.c(str)) {
return a;
}
return a + "/" + str;
}
public static String b() {
return "2.9.9";
}
private static String a() {
StringBuilder sb = new StringBuilder();
sb.append("(");
sb.append(System.getProperty("os.name"));
sb.append("/Android " + Build.VERSION.RELEASE);
sb.append("/");
sb.append(HttpUtil.a(Build.MODEL, "utf-8") + ";" + HttpUtil.a(Build.ID, "utf-8"));
sb.append(")");
String sb2 = sb.toString();
OSSLog.a("user agent : " + sb2);
return OSSUtils.c(sb2) ? System.getProperty("http.agent").replaceAll("[^\\p{ASCII}]", "?") : sb2;
}
}

View File

@@ -0,0 +1,21 @@
package com.alibaba.sdk.android.oss.exception;
import java.io.IOException;
/* loaded from: classes.dex */
public class InconsistentException extends IOException {
private Long clientChecksum;
private String requestId;
private Long serverChecksum;
public InconsistentException(Long l, Long l2, String str) {
this.clientChecksum = l;
this.serverChecksum = l2;
this.requestId = str;
}
@Override // java.lang.Throwable
public String getMessage() {
return "InconsistentException: inconsistent object\n[RequestId]: " + this.requestId + "\n[ClientChecksum]: " + this.clientChecksum + "\n[ServerChecksum]: " + this.serverChecksum;
}
}

View File

@@ -0,0 +1,74 @@
package com.alibaba.sdk.android.oss.internal;
import com.alibaba.sdk.android.oss.common.OSSLog;
import com.alibaba.sdk.android.oss.common.utils.CaseInsensitiveHashMap;
import com.alibaba.sdk.android.oss.model.OSSResult;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.ParameterizedType;
import java.math.BigInteger;
import java.util.zip.CheckedInputStream;
import okhttp3.Headers;
import okhttp3.Response;
/* loaded from: classes.dex */
public abstract class AbstractResponseParser<T extends OSSResult> implements ResponseParser {
public static void b(ResponseMessage responseMessage) {
try {
responseMessage.a();
} catch (Exception unused) {
}
}
@Override // com.alibaba.sdk.android.oss.internal.ResponseParser
public T a(ResponseMessage responseMessage) throws IOException {
try {
try {
T t = (T) ((Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]).newInstance();
if (t != null) {
t.a(responseMessage.d().get("x-oss-request-id"));
t.a(responseMessage.h());
t.a(a(responseMessage.g()));
a((AbstractResponseParser<T>) t, responseMessage);
t = a(responseMessage, (ResponseMessage) t);
}
return t;
} catch (Exception e) {
IOException iOException = new IOException(e.getMessage(), e);
e.printStackTrace();
OSSLog.a(e);
throw iOException;
}
} finally {
if (a()) {
b(responseMessage);
}
}
}
abstract T a(ResponseMessage responseMessage, T t) throws Exception;
public boolean a() {
return true;
}
private CaseInsensitiveHashMap<String, String> a(Response response) {
CaseInsensitiveHashMap<String, String> caseInsensitiveHashMap = new CaseInsensitiveHashMap<>();
Headers headers = response.headers();
for (int i = 0; i < headers.size(); i++) {
caseInsensitiveHashMap.put(headers.name(i), headers.value(i));
}
return caseInsensitiveHashMap;
}
public <Result extends OSSResult> void a(Result result, ResponseMessage responseMessage) {
InputStream b = responseMessage.f().b();
if (b != null && (b instanceof CheckedInputStream)) {
result.a(Long.valueOf(((CheckedInputStream) b).getChecksum().getValue()));
}
String str = responseMessage.d().get("x-oss-hash-crc64ecma");
if (str != null) {
result.b(Long.valueOf(new BigInteger(str).longValue()));
}
}
}

View File

@@ -0,0 +1,19 @@
package com.alibaba.sdk.android.oss.internal;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
/* loaded from: classes.dex */
public class ExtensionRequestOperation {
static {
Executors.newFixedThreadPool(5, new ThreadFactory() { // from class: com.alibaba.sdk.android.oss.internal.ExtensionRequestOperation.1
@Override // java.util.concurrent.ThreadFactory
public Thread newThread(Runnable runnable) {
return new Thread(runnable, "oss-android-extensionapi-thread");
}
});
}
public ExtensionRequestOperation(InternalRequestOperation internalRequestOperation) {
}
}

View File

@@ -0,0 +1,65 @@
package com.alibaba.sdk.android.oss.internal;
import com.alibaba.sdk.android.oss.common.utils.CaseInsensitiveHashMap;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes.dex */
public abstract class HttpMessage {
private Map<String, String> a = new CaseInsensitiveHashMap();
private InputStream b;
private long c;
private String d;
HttpMessage() {
}
public void a(Map<String, String> map) {
if (this.a == null) {
this.a = new CaseInsensitiveHashMap();
}
Map<String, String> map2 = this.a;
if (map2 != null && map2.size() > 0) {
this.a.clear();
}
this.a.putAll(map);
}
public InputStream b() {
return this.b;
}
public long c() {
return this.c;
}
public Map<String, String> d() {
return this.a;
}
public String e() {
return this.d;
}
public void a(String str, String str2) {
this.a.put(str, str2);
}
public void a(InputStream inputStream) {
this.b = inputStream;
}
public void a(long j) {
this.c = j;
}
public void a() throws IOException {
InputStream inputStream = this.b;
if (inputStream != null) {
inputStream.close();
this.b = null;
}
}
}

View File

@@ -0,0 +1,200 @@
package com.alibaba.sdk.android.oss.internal;
import android.content.Context;
import android.os.Build;
import android.text.TextUtils;
import com.alibaba.sdk.android.oss.ClientConfiguration;
import com.alibaba.sdk.android.oss.ClientException;
import com.alibaba.sdk.android.oss.ServiceException;
import com.alibaba.sdk.android.oss.callback.OSSCompletedCallback;
import com.alibaba.sdk.android.oss.common.HttpMethod;
import com.alibaba.sdk.android.oss.common.OSSLog;
import com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider;
import com.alibaba.sdk.android.oss.common.utils.DateUtil;
import com.alibaba.sdk.android.oss.common.utils.OSSUtils;
import com.alibaba.sdk.android.oss.common.utils.VersionInfoUtils;
import com.alibaba.sdk.android.oss.exception.InconsistentException;
import com.alibaba.sdk.android.oss.internal.ResponseParsers;
import com.alibaba.sdk.android.oss.model.OSSRequest;
import com.alibaba.sdk.android.oss.model.OSSResult;
import com.alibaba.sdk.android.oss.model.PutObjectRequest;
import com.alibaba.sdk.android.oss.model.PutObjectResult;
import com.alibaba.sdk.android.oss.network.ExecutionContext;
import com.alibaba.sdk.android.oss.network.OSSRequestTask;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;
import okhttp3.Dispatcher;
import okhttp3.OkHttpClient;
/* loaded from: classes.dex */
public class InternalRequestOperation {
private static ExecutorService g = Executors.newFixedThreadPool(5, new ThreadFactory() { // from class: com.alibaba.sdk.android.oss.internal.InternalRequestOperation.1
@Override // java.util.concurrent.ThreadFactory
public Thread newThread(Runnable runnable) {
return new Thread(runnable, "oss-android-api-thread");
}
});
private volatile URI a;
private OkHttpClient b;
private Context c;
private OSSCredentialProvider d;
private int e;
private ClientConfiguration f;
public InternalRequestOperation(Context context, final URI uri, OSSCredentialProvider oSSCredentialProvider, ClientConfiguration clientConfiguration) {
this.e = 2;
this.c = context;
this.a = uri;
this.d = oSSCredentialProvider;
this.f = clientConfiguration;
OkHttpClient.Builder hostnameVerifier = new OkHttpClient.Builder().followRedirects(false).followSslRedirects(false).retryOnConnectionFailure(false).cache(null).hostnameVerifier(new HostnameVerifier(this) { // from class: com.alibaba.sdk.android.oss.internal.InternalRequestOperation.2
@Override // javax.net.ssl.HostnameVerifier
public boolean verify(String str, SSLSession sSLSession) {
return HttpsURLConnection.getDefaultHostnameVerifier().verify(uri.getHost(), sSLSession);
}
});
if (clientConfiguration != null) {
Dispatcher dispatcher = new Dispatcher();
dispatcher.setMaxRequests(clientConfiguration.e());
hostnameVerifier.connectTimeout(clientConfiguration.a(), TimeUnit.MILLISECONDS).readTimeout(clientConfiguration.j(), TimeUnit.MILLISECONDS).writeTimeout(clientConfiguration.j(), TimeUnit.MILLISECONDS).dispatcher(dispatcher);
if (clientConfiguration.h() != null && clientConfiguration.i() != 0) {
hostnameVerifier.proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(clientConfiguration.h(), clientConfiguration.i())));
}
this.e = clientConfiguration.f();
}
this.b = hostnameVerifier.build();
}
public OSSAsyncTask<PutObjectResult> a(PutObjectRequest putObjectRequest, final OSSCompletedCallback<PutObjectRequest, PutObjectResult> oSSCompletedCallback) {
OSSLog.a(" Internal putObject Start ");
RequestMessage requestMessage = new RequestMessage();
requestMessage.d(putObjectRequest.b());
requestMessage.a(this.a);
requestMessage.a(HttpMethod.PUT);
requestMessage.a(putObjectRequest.c());
requestMessage.c(putObjectRequest.g());
if (putObjectRequest.j() != null) {
requestMessage.a(putObjectRequest.j());
}
if (putObjectRequest.k() != null) {
requestMessage.d(putObjectRequest.k());
}
if (putObjectRequest.l() != null) {
requestMessage.a(putObjectRequest.l());
}
if (putObjectRequest.d() != null) {
requestMessage.d().put("x-oss-callback", OSSUtils.a(putObjectRequest.d()));
}
if (putObjectRequest.e() != null) {
requestMessage.d().put("x-oss-callback-var", OSSUtils.a(putObjectRequest.e()));
}
OSSLog.a(" populateRequestMetadata ");
OSSUtils.a(requestMessage.d(), putObjectRequest.f());
OSSLog.a(" canonicalizeRequestMessage ");
a(requestMessage, putObjectRequest);
OSSLog.a(" ExecutionContext ");
ExecutionContext executionContext = new ExecutionContext(a(), putObjectRequest, this.c);
if (oSSCompletedCallback != null) {
executionContext.a(new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() { // from class: com.alibaba.sdk.android.oss.internal.InternalRequestOperation.4
@Override // com.alibaba.sdk.android.oss.callback.OSSCompletedCallback
public void a(PutObjectRequest putObjectRequest2, PutObjectResult putObjectResult) {
InternalRequestOperation.this.a(putObjectRequest2, putObjectResult, oSSCompletedCallback);
}
@Override // com.alibaba.sdk.android.oss.callback.OSSCompletedCallback
public void a(PutObjectRequest putObjectRequest2, ClientException clientException, ServiceException serviceException) {
oSSCompletedCallback.a(putObjectRequest2, clientException, serviceException);
}
});
}
if (putObjectRequest.i() != null) {
executionContext.a(putObjectRequest.i());
}
executionContext.a(putObjectRequest.h());
OSSRequestTask oSSRequestTask = new OSSRequestTask(requestMessage, new ResponseParsers.PutObjectResponseParser(), executionContext, this.e);
OSSLog.a(" call OSSRequestTask ");
return OSSAsyncTask.a(g.submit(oSSRequestTask), executionContext);
}
private boolean a(boolean z) {
String host;
if (!z || this.c == null) {
return false;
}
if (Build.VERSION.SDK_INT >= 14) {
host = System.getProperty("http.proxyHost");
} else {
host = android.net.Proxy.getHost(this.c);
}
String h = this.f.h();
if (!TextUtils.isEmpty(h)) {
host = h;
}
return TextUtils.isEmpty(host);
}
public OkHttpClient a() {
return this.b;
}
private void a(RequestMessage requestMessage, OSSRequest oSSRequest) {
Map<String, String> d = requestMessage.d();
if (d.get("Date") == null) {
d.put("Date", DateUtil.a());
}
if ((requestMessage.j() == HttpMethod.POST || requestMessage.j() == HttpMethod.PUT) && OSSUtils.c(d.get("Content-Type"))) {
d.put("Content-Type", OSSUtils.a((String) null, requestMessage.n(), requestMessage.k()));
}
requestMessage.c(a(this.f.m()));
requestMessage.a(this.d);
requestMessage.f(this.f.n());
requestMessage.b(this.f.l());
requestMessage.b(this.f.d());
requestMessage.d().put("User-Agent", VersionInfoUtils.a(this.f.c()));
boolean z = false;
if (requestMessage.d().containsKey("Range") || requestMessage.l().containsKey("x-oss-process")) {
requestMessage.a(false);
}
requestMessage.e(OSSUtils.a(this.a.getHost(), this.f.b()));
if (oSSRequest.a() == OSSRequest.CRC64Config.NULL) {
z = this.f.k();
} else if (oSSRequest.a() == OSSRequest.CRC64Config.YES) {
z = true;
}
requestMessage.a(z);
oSSRequest.a(z ? OSSRequest.CRC64Config.YES : OSSRequest.CRC64Config.NO);
}
private <Request extends OSSRequest, Result extends OSSResult> void a(Request request, Result result) throws ClientException {
if (request.a() == OSSRequest.CRC64Config.YES) {
try {
OSSUtils.a(result.a(), result.c(), result.b());
} catch (InconsistentException e) {
throw new ClientException(e.getMessage(), e);
}
}
}
/* JADX INFO: Access modifiers changed from: private */
public <Request extends OSSRequest, Result extends OSSResult> void a(Request request, Result result, OSSCompletedCallback<Request, Result> oSSCompletedCallback) {
try {
a((InternalRequestOperation) request, (Request) result);
if (oSSCompletedCallback != null) {
oSSCompletedCallback.a(request, result);
}
} catch (ClientException e) {
if (oSSCompletedCallback != null) {
oSSCompletedCallback.a(request, e, null);
}
}
}
}

View File

@@ -0,0 +1,29 @@
package com.alibaba.sdk.android.oss.internal;
import com.alibaba.sdk.android.oss.model.OSSResult;
import com.alibaba.sdk.android.oss.network.ExecutionContext;
import java.util.concurrent.Future;
/* loaded from: classes.dex */
public class OSSAsyncTask<T extends OSSResult> {
private ExecutionContext a;
private volatile boolean b;
public static OSSAsyncTask a(Future future, ExecutionContext executionContext) {
OSSAsyncTask oSSAsyncTask = new OSSAsyncTask();
oSSAsyncTask.a = executionContext;
return oSSAsyncTask;
}
public boolean b() {
return this.b;
}
public void a() {
this.b = true;
ExecutionContext executionContext = this.a;
if (executionContext != null) {
executionContext.b().a();
}
}
}

View File

@@ -0,0 +1,66 @@
package com.alibaba.sdk.android.oss.internal;
import com.alibaba.sdk.android.oss.ClientException;
import com.alibaba.sdk.android.oss.ServiceException;
import com.alibaba.sdk.android.oss.common.OSSLog;
import java.io.InterruptedIOException;
import java.net.SocketTimeoutException;
/* loaded from: classes.dex */
public class OSSRetryHandler {
private int a = 2;
/* renamed from: com.alibaba.sdk.android.oss.internal.OSSRetryHandler$1, reason: invalid class name */
static /* synthetic */ class AnonymousClass1 {
static final /* synthetic */ int[] a = new int[OSSRetryType.values().length];
static {
try {
a[OSSRetryType.OSSRetryTypeShouldRetry.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
}
}
public OSSRetryHandler(int i) {
a(i);
}
public void a(int i) {
this.a = i;
}
public OSSRetryType a(Exception exc, int i) {
if (i >= this.a) {
return OSSRetryType.OSSRetryTypeShouldNotRetry;
}
if (!(exc instanceof ClientException)) {
if (!(exc instanceof ServiceException)) {
return OSSRetryType.OSSRetryTypeShouldNotRetry;
}
ServiceException serviceException = (ServiceException) exc;
return (serviceException.getErrorCode() == null || !serviceException.getErrorCode().equalsIgnoreCase("RequestTimeTooSkewed")) ? serviceException.getStatusCode() >= 500 ? OSSRetryType.OSSRetryTypeShouldRetry : OSSRetryType.OSSRetryTypeShouldNotRetry : OSSRetryType.OSSRetryTypeShouldFixedTimeSkewedAndRetry;
}
if (((ClientException) exc).isCanceledException().booleanValue()) {
return OSSRetryType.OSSRetryTypeShouldNotRetry;
}
Exception exc2 = (Exception) exc.getCause();
if ((exc2 instanceof InterruptedIOException) && !(exc2 instanceof SocketTimeoutException)) {
OSSLog.b("[shouldRetry] - is interrupted!");
return OSSRetryType.OSSRetryTypeShouldNotRetry;
}
if (exc2 instanceof IllegalArgumentException) {
return OSSRetryType.OSSRetryTypeShouldNotRetry;
}
OSSLog.a("shouldRetry - " + exc.toString());
exc.getCause().printStackTrace();
return OSSRetryType.OSSRetryTypeShouldRetry;
}
public long a(int i, OSSRetryType oSSRetryType) {
if (AnonymousClass1.a[oSSRetryType.ordinal()] != 1) {
return 0L;
}
return ((long) Math.pow(2.0d, i)) * 200;
}
}

View File

@@ -0,0 +1,8 @@
package com.alibaba.sdk.android.oss.internal;
/* loaded from: classes.dex */
public enum OSSRetryType {
OSSRetryTypeShouldNotRetry,
OSSRetryTypeShouldRetry,
OSSRetryTypeShouldFixedTimeSkewedAndRetry
}

View File

@@ -0,0 +1,210 @@
package com.alibaba.sdk.android.oss.internal;
import android.net.Uri;
import android.text.TextUtils;
import com.alibaba.sdk.android.oss.common.HttpMethod;
import com.alibaba.sdk.android.oss.common.OSSLog;
import com.alibaba.sdk.android.oss.common.auth.OSSCredentialProvider;
import com.alibaba.sdk.android.oss.common.utils.HttpUtil;
import com.alibaba.sdk.android.oss.common.utils.HttpdnsMini;
import com.alibaba.sdk.android.oss.common.utils.OSSUtils;
import java.net.URI;
import java.util.LinkedHashMap;
import java.util.Map;
/* loaded from: classes.dex */
public class RequestMessage extends HttpMessage {
private URI e;
private String f;
private String g;
private HttpMethod h;
private boolean k;
private OSSCredentialProvider l;
private String p;
private String r;
private byte[] s;
private Uri t;
private boolean i = true;
private Map<String, String> j = new LinkedHashMap();
private boolean m = false;
private boolean n = false;
private boolean o = false;
private boolean q = false;
public void f(boolean z) {
this.n = z;
}
public String g() {
return this.f;
}
public OSSCredentialProvider h() {
return this.l;
}
public String i() {
return this.p;
}
public HttpMethod j() {
return this.h;
}
public String k() {
return this.g;
}
public Map<String, String> l() {
return this.j;
}
public byte[] m() {
return this.s;
}
public String n() {
return this.r;
}
public Uri o() {
return this.t;
}
public boolean p() {
return this.i;
}
public boolean q() {
return this.k;
}
public boolean r() {
return this.m;
}
public void b(String str) {
this.p = str;
}
public void c(boolean z) {
this.m = z;
}
public void d(String str) {
this.r = str;
}
public void e(boolean z) {
this.q = z;
}
public String f() throws Exception {
boolean z = false;
OSSUtils.a(this.e != null, "Endpoint haven't been set!");
String scheme = this.e.getScheme();
String host = this.e.getHost();
String path = this.e.getPath();
int port = this.e.getPort();
String str = null;
String valueOf = port != -1 ? String.valueOf(port) : null;
if (TextUtils.isEmpty(host)) {
OSSLog.a("endpoint url : " + this.e.toString());
}
OSSLog.a(" scheme : " + scheme);
OSSLog.a(" originHost : " + host);
OSSLog.a(" port : " + valueOf);
String str2 = scheme + "://" + host;
if (!TextUtils.isEmpty(valueOf)) {
str2 = str2 + ":" + valueOf;
}
if (!TextUtils.isEmpty(this.f)) {
if (OSSUtils.d(host)) {
String str3 = this.f + "." + host;
if (r()) {
str = HttpdnsMini.a().a(str3);
} else {
OSSLog.a("[buildCannonicalURL], disable httpdns");
}
a("Host", str3);
str2 = TextUtils.isEmpty(str) ? scheme + "://" + str3 : scheme + "://" + str;
} else if (this.q) {
if (!this.n) {
str2 = scheme + "://" + this.f + "." + host;
}
z = true;
} else if (OSSUtils.e(host)) {
if (!OSSUtils.c(this.p)) {
a("Host", i());
}
z = true;
}
}
if (this.o && path != null) {
str2 = str2 + path;
}
if (z) {
str2 = str2 + "/" + this.f;
}
if (!TextUtils.isEmpty(this.g)) {
str2 = str2 + "/" + HttpUtil.a(this.g, "utf-8");
}
String a = OSSUtils.a(this.j, "utf-8");
StringBuilder sb = new StringBuilder();
sb.append("request---------------------\n");
sb.append("request url=" + str2 + "\n");
sb.append("request params=" + a + "\n");
for (String str4 : d().keySet()) {
sb.append("requestHeader [" + str4 + "]: ");
StringBuilder sb2 = new StringBuilder();
sb2.append(d().get(str4));
sb2.append("\n");
sb.append(sb2.toString());
}
OSSLog.a(sb.toString());
if (OSSUtils.c(a)) {
return str2;
}
return str2 + "?" + a;
}
public void b(boolean z) {
this.o = z;
}
public void c(String str) {
this.g = str;
}
public void d(boolean z) {
this.i = z;
}
public void a(HttpMethod httpMethod) {
this.h = httpMethod;
}
public void a(OSSCredentialProvider oSSCredentialProvider) {
this.l = oSSCredentialProvider;
}
public void a(URI uri) {
this.e = uri;
}
public void a(String str) {
this.f = str;
}
public void a(byte[] bArr) {
this.s = bArr;
}
public void a(Uri uri) {
this.t = uri;
}
public void a(boolean z) {
this.k = z;
}
}

View File

@@ -0,0 +1,34 @@
package com.alibaba.sdk.android.oss.internal;
import okhttp3.Response;
/* loaded from: classes.dex */
public class ResponseMessage extends HttpMessage {
private Response e;
private RequestMessage f;
private int g;
public RequestMessage f() {
return this.f;
}
public Response g() {
return this.e;
}
public int h() {
return this.g;
}
public void a(int i) {
this.g = i;
}
public void a(Response response) {
this.e = response;
}
public void a(RequestMessage requestMessage) {
this.f = requestMessage;
}
}

View File

@@ -0,0 +1,9 @@
package com.alibaba.sdk.android.oss.internal;
import com.alibaba.sdk.android.oss.model.OSSResult;
import java.io.IOException;
/* loaded from: classes.dex */
public interface ResponseParser<T extends OSSResult> {
T a(ResponseMessage responseMessage) throws IOException;
}

View File

@@ -0,0 +1,118 @@
package com.alibaba.sdk.android.oss.internal;
import android.text.TextUtils;
import android.util.Xml;
import com.alibaba.sdk.android.oss.ClientException;
import com.alibaba.sdk.android.oss.ServiceException;
import com.alibaba.sdk.android.oss.common.OSSLog;
import com.alibaba.sdk.android.oss.model.PutObjectResult;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/* loaded from: classes.dex */
public final class ResponseParsers {
public static final class PutObjectResponseParser extends AbstractResponseParser<PutObjectResult> {
@Override // com.alibaba.sdk.android.oss.internal.AbstractResponseParser
public /* bridge */ /* synthetic */ PutObjectResult a(ResponseMessage responseMessage, PutObjectResult putObjectResult) throws Exception {
PutObjectResult putObjectResult2 = putObjectResult;
a2(responseMessage, putObjectResult2);
return putObjectResult2;
}
/* renamed from: a, reason: avoid collision after fix types in other method */
public PutObjectResult a2(ResponseMessage responseMessage, PutObjectResult putObjectResult) throws IOException {
putObjectResult.b(ResponseParsers.a(responseMessage.d().get("ETag")));
String string = responseMessage.g().body().string();
if (!TextUtils.isEmpty(string)) {
putObjectResult.c(string);
}
return putObjectResult;
}
}
public static String a(String str) {
if (str == null) {
return null;
}
String trim = str.trim();
if (trim.startsWith("\"")) {
trim = trim.substring(1);
}
return trim.endsWith("\"") ? trim.substring(0, trim.length() - 1) : trim;
}
public static ServiceException a(ResponseMessage responseMessage, boolean z) throws ClientException {
String str;
String str2;
String str3;
String str4;
String str5;
String str6;
int h = responseMessage.h();
String header = responseMessage.g().header("x-oss-request-id");
String str7 = null;
if (z) {
str4 = header;
str6 = null;
str3 = null;
str = null;
str5 = null;
str2 = null;
} else {
try {
String string = responseMessage.g().body().string();
OSSLog.a("errorMessage \n " + string);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(string.getBytes());
XmlPullParser newPullParser = Xml.newPullParser();
newPullParser.setInput(byteArrayInputStream, "utf-8");
int eventType = newPullParser.getEventType();
String str8 = null;
str = null;
String str9 = null;
str2 = null;
while (eventType != 1) {
if (eventType == 2) {
if ("Code".equals(newPullParser.getName())) {
str7 = newPullParser.nextText();
} else if ("Message".equals(newPullParser.getName())) {
str8 = newPullParser.nextText();
} else if ("RequestId".equals(newPullParser.getName())) {
header = newPullParser.nextText();
} else if ("HostId".equals(newPullParser.getName())) {
str = newPullParser.nextText();
} else if ("PartNumber".equals(newPullParser.getName())) {
str9 = newPullParser.nextText();
} else if ("PartEtag".equals(newPullParser.getName())) {
str2 = newPullParser.nextText();
}
}
eventType = newPullParser.next();
if (eventType == 4) {
eventType = newPullParser.next();
}
}
str3 = str7;
str7 = str8;
str4 = header;
String str10 = str9;
str5 = string;
str6 = str10;
} catch (IOException e) {
throw new ClientException(e);
} catch (XmlPullParserException e2) {
throw new ClientException(e2);
}
}
ServiceException serviceException = new ServiceException(h, str7, str3, str4, str, str5);
if (!TextUtils.isEmpty(str2)) {
serviceException.setPartEtag(str2);
}
if (!TextUtils.isEmpty(str6)) {
serviceException.setPartNumber(str6);
}
return serviceException;
}
}

View File

@@ -0,0 +1,29 @@
package com.alibaba.sdk.android.oss.model;
/* loaded from: classes.dex */
public enum CannedAccessControlList {
Private("private"),
PublicRead("public-read"),
PublicReadWrite("public-read-write"),
Default("default");
private String ACLString;
CannedAccessControlList(String str) {
this.ACLString = str;
}
public static CannedAccessControlList parseACL(String str) {
for (CannedAccessControlList cannedAccessControlList : values()) {
if (cannedAccessControlList.toString().equals(str)) {
return cannedAccessControlList;
}
}
return null;
}
@Override // java.lang.Enum
public String toString() {
return this.ACLString;
}
}

View File

@@ -0,0 +1,10 @@
package com.alibaba.sdk.android.oss.model;
/* loaded from: classes.dex */
public class CopyObjectRequest extends OSSRequest {
private String c;
public String c() {
return this.c;
}
}

View File

@@ -0,0 +1,25 @@
package com.alibaba.sdk.android.oss.model;
/* loaded from: classes.dex */
public class OSSRequest {
private boolean a = true;
private Enum b = CRC64Config.NULL;
public enum CRC64Config {
NULL,
YES,
NO
}
public Enum a() {
return this.b;
}
public boolean b() {
return this.a;
}
public void a(Enum r1) {
this.b = r1;
}
}

View File

@@ -0,0 +1,54 @@
package com.alibaba.sdk.android.oss.model;
import java.util.Map;
/* loaded from: classes.dex */
public class OSSResult {
private int a;
private Map<String, String> b;
private String c;
private Long d;
private Long e;
public void a(int i) {
this.a = i;
}
public String b() {
return this.c;
}
public Long c() {
return this.e;
}
public String toString() {
return String.format("OSSResult<%s>: \nstatusCode:%d,\nresponseHeader:%s,\nrequestId:%s", super.toString(), Integer.valueOf(this.a), this.b.toString(), this.c);
}
public void a(Map<String, String> map) {
this.b = map;
}
public void b(Long l) {
if (l == null || l.longValue() == 0) {
return;
}
this.e = l;
}
public void a(String str) {
this.c = str;
}
public Long a() {
return this.d;
}
public void a(Long l) {
if (l == null || l.longValue() == 0) {
return;
}
this.d = l;
}
}

View File

@@ -0,0 +1,10 @@
package com.alibaba.sdk.android.oss.model;
import java.util.Map;
/* loaded from: classes.dex */
public class ObjectMetadata {
public Map<String, Object> a() {
throw null;
}
}

View File

@@ -0,0 +1,30 @@
package com.alibaba.sdk.android.oss.model;
/* loaded from: classes.dex */
public enum ObjectPermission {
Private("private"),
PublicRead("public-read"),
PublicReadWrite("public-read-write"),
Default("default"),
Unknown("");
private String permissionString;
ObjectPermission(String str) {
this.permissionString = str;
}
public static ObjectPermission parsePermission(String str) {
for (ObjectPermission objectPermission : new ObjectPermission[]{Private, PublicRead, PublicReadWrite, Default}) {
if (objectPermission.permissionString.equals(str)) {
return objectPermission;
}
}
return Unknown;
}
@Override // java.lang.Enum
public String toString() {
return this.permissionString;
}
}

View File

@@ -0,0 +1,71 @@
package com.alibaba.sdk.android.oss.model;
import java.io.Serializable;
/* loaded from: classes.dex */
public class Owner implements Serializable {
private static final long serialVersionUID = -1942759024112448066L;
private String displayName;
private String id;
public Owner() {
this(null, null);
}
public boolean equals(Object obj) {
if (!(obj instanceof Owner)) {
return false;
}
Owner owner = (Owner) obj;
String id = owner.getId();
String displayName = owner.getDisplayName();
String id2 = getId();
String displayName2 = getDisplayName();
if (id == null) {
id = "";
}
if (displayName == null) {
displayName = "";
}
if (id2 == null) {
id2 = "";
}
if (displayName2 == null) {
displayName2 = "";
}
return id.equals(id2) && displayName.equals(displayName2);
}
public String getDisplayName() {
return this.displayName;
}
public String getId() {
return this.id;
}
public int hashCode() {
String str = this.id;
if (str != null) {
return str.hashCode();
}
return 0;
}
public void setDisplayName(String str) {
this.displayName = str;
}
public void setId(String str) {
this.id = str;
}
public String toString() {
return "Owner [name=" + getDisplayName() + ",id=" + getId() + "]";
}
public Owner(String str, String str2) {
this.id = str;
this.displayName = str2;
}
}

View File

@@ -0,0 +1,106 @@
package com.alibaba.sdk.android.oss.model;
import android.net.Uri;
import com.alibaba.sdk.android.oss.callback.OSSProgressCallback;
import com.alibaba.sdk.android.oss.callback.OSSRetryCallback;
import java.util.Map;
/* loaded from: classes.dex */
public class PutObjectRequest extends OSSRequest {
private String c;
private String d;
private String e;
private byte[] f;
private Uri g;
private ObjectMetadata h;
private Map<String, String> i;
private Map<String, String> j;
private OSSProgressCallback<PutObjectRequest> k;
private OSSRetryCallback l;
public PutObjectRequest(String str, String str2, String str3) {
this(str, str2, str3, (ObjectMetadata) null);
}
public void a(String str) {
this.c = str;
}
public void b(String str) {
this.d = str;
}
public String c() {
return this.c;
}
public Map<String, String> d() {
return this.i;
}
public Map<String, String> e() {
return this.j;
}
public ObjectMetadata f() {
return this.h;
}
public String g() {
return this.d;
}
public OSSProgressCallback<PutObjectRequest> h() {
return this.k;
}
public OSSRetryCallback i() {
return this.l;
}
public byte[] j() {
return this.f;
}
public String k() {
return this.e;
}
public Uri l() {
return this.g;
}
public PutObjectRequest(String str, String str2, String str3, ObjectMetadata objectMetadata) {
a(str);
b(str2);
c(str3);
a(objectMetadata);
}
public void a(byte[] bArr) {
this.f = bArr;
}
public void c(String str) {
this.e = str;
}
public void a(ObjectMetadata objectMetadata) {
this.h = objectMetadata;
}
public void a(OSSProgressCallback<PutObjectRequest> oSSProgressCallback) {
this.k = oSSProgressCallback;
}
public PutObjectRequest(String str, String str2, byte[] bArr) {
this(str, str2, bArr, (ObjectMetadata) null);
}
public PutObjectRequest(String str, String str2, byte[] bArr, ObjectMetadata objectMetadata) {
a(str);
b(str2);
a(bArr);
a(objectMetadata);
}
}

View File

@@ -0,0 +1,10 @@
package com.alibaba.sdk.android.oss.model;
/* loaded from: classes.dex */
public class PutObjectResult extends OSSResult {
public void b(String str) {
}
public void c(String str) {
}
}

View File

@@ -0,0 +1,29 @@
package com.alibaba.sdk.android.oss.model;
/* loaded from: classes.dex */
public enum StorageClass {
Standard("Standard"),
IA("IA"),
Archive("Archive"),
Unknown("Unknown");
private String storageClassString;
StorageClass(String str) {
this.storageClassString = str;
}
public static StorageClass parse(String str) {
for (StorageClass storageClass : values()) {
if (storageClass.toString().equals(str)) {
return storageClass;
}
}
throw new IllegalArgumentException("Unable to parse " + str);
}
@Override // java.lang.Enum
public String toString() {
return this.storageClassString;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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");
}
}

View File

@@ -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();
}
}
}