mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
222 lines
14 KiB
Java
222 lines
14 KiB
Java
package okhttp3.internal.platform;
|
|
|
|
import io.sentry.protocol.Request;
|
|
import java.lang.reflect.InvocationHandler;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.lang.reflect.Method;
|
|
import java.lang.reflect.Proxy;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import javax.net.ssl.SSLSocket;
|
|
import kotlin.Metadata;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import okhttp3.Protocol;
|
|
|
|
/* compiled from: Jdk8WithJettyBootPlatform.kt */
|
|
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0004\u0018\u0000 \u00162\u00020\u0001:\u0002\u0015\u0016B5\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\n\u0010\u0006\u001a\u0006\u0012\u0002\b\u00030\u0007\u0012\n\u0010\b\u001a\u0006\u0012\u0002\b\u00030\u0007¢\u0006\u0002\u0010\tJ\u0010\u0010\n\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\rH\u0016J(\u0010\u000e\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\r2\b\u0010\u000f\u001a\u0004\u0018\u00010\u00102\f\u0010\u0011\u001a\b\u0012\u0004\u0012\u00020\u00130\u0012H\u0016J\u0012\u0010\u0014\u001a\u0004\u0018\u00010\u00102\u0006\u0010\f\u001a\u00020\rH\u0016R\u0012\u0010\u0006\u001a\u0006\u0012\u0002\b\u00030\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u0012\u0010\b\u001a\u0006\u0012\u0002\b\u00030\u0007X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0017"}, d2 = {"Lokhttp3/internal/platform/Jdk8WithJettyBootPlatform;", "Lokhttp3/internal/platform/Platform;", "putMethod", "Ljava/lang/reflect/Method;", "getMethod", "removeMethod", "clientProviderClass", "Ljava/lang/Class;", "serverProviderClass", "(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/Class;Ljava/lang/Class;)V", "afterHandshake", "", "sslSocket", "Ljavax/net/ssl/SSLSocket;", "configureTlsExtensions", "hostname", "", "protocols", "", "Lokhttp3/Protocol;", "getSelectedProtocol", "AlpnProvider", "Companion", "okhttp"}, k = 1, mv = {1, 4, 0})
|
|
/* loaded from: classes3.dex */
|
|
public final class Jdk8WithJettyBootPlatform extends Platform {
|
|
|
|
/* renamed from: Companion, reason: from kotlin metadata */
|
|
public static final Companion INSTANCE = new Companion(null);
|
|
private final Class<?> clientProviderClass;
|
|
private final Method getMethod;
|
|
private final Method putMethod;
|
|
private final Method removeMethod;
|
|
private final Class<?> serverProviderClass;
|
|
|
|
public Jdk8WithJettyBootPlatform(Method putMethod, Method getMethod, Method removeMethod, Class<?> clientProviderClass, Class<?> serverProviderClass) {
|
|
Intrinsics.checkNotNullParameter(putMethod, "putMethod");
|
|
Intrinsics.checkNotNullParameter(getMethod, "getMethod");
|
|
Intrinsics.checkNotNullParameter(removeMethod, "removeMethod");
|
|
Intrinsics.checkNotNullParameter(clientProviderClass, "clientProviderClass");
|
|
Intrinsics.checkNotNullParameter(serverProviderClass, "serverProviderClass");
|
|
this.putMethod = putMethod;
|
|
this.getMethod = getMethod;
|
|
this.removeMethod = removeMethod;
|
|
this.clientProviderClass = clientProviderClass;
|
|
this.serverProviderClass = serverProviderClass;
|
|
}
|
|
|
|
@Override // okhttp3.internal.platform.Platform
|
|
public void configureTlsExtensions(SSLSocket sslSocket, String hostname, List<? extends Protocol> protocols) {
|
|
Intrinsics.checkNotNullParameter(sslSocket, "sslSocket");
|
|
Intrinsics.checkNotNullParameter(protocols, "protocols");
|
|
try {
|
|
this.putMethod.invoke(null, sslSocket, Proxy.newProxyInstance(Platform.class.getClassLoader(), new Class[]{this.clientProviderClass, this.serverProviderClass}, new AlpnProvider(Platform.INSTANCE.alpnProtocolNames(protocols))));
|
|
} catch (IllegalAccessException e) {
|
|
throw new AssertionError("failed to set ALPN", e);
|
|
} catch (InvocationTargetException e2) {
|
|
throw new AssertionError("failed to set ALPN", e2);
|
|
}
|
|
}
|
|
|
|
@Override // okhttp3.internal.platform.Platform
|
|
public void afterHandshake(SSLSocket sslSocket) {
|
|
Intrinsics.checkNotNullParameter(sslSocket, "sslSocket");
|
|
try {
|
|
this.removeMethod.invoke(null, sslSocket);
|
|
} catch (IllegalAccessException e) {
|
|
throw new AssertionError("failed to remove ALPN", e);
|
|
} catch (InvocationTargetException e2) {
|
|
throw new AssertionError("failed to remove ALPN", e2);
|
|
}
|
|
}
|
|
|
|
@Override // okhttp3.internal.platform.Platform
|
|
public String getSelectedProtocol(SSLSocket sslSocket) {
|
|
Intrinsics.checkNotNullParameter(sslSocket, "sslSocket");
|
|
try {
|
|
InvocationHandler invocationHandler = Proxy.getInvocationHandler(this.getMethod.invoke(null, sslSocket));
|
|
if (invocationHandler == null) {
|
|
throw new NullPointerException("null cannot be cast to non-null type okhttp3.internal.platform.Jdk8WithJettyBootPlatform.AlpnProvider");
|
|
}
|
|
AlpnProvider alpnProvider = (AlpnProvider) invocationHandler;
|
|
if (!alpnProvider.getUnsupported() && alpnProvider.getSelected() == null) {
|
|
Platform.log$default(this, "ALPN callback dropped: HTTP/2 is disabled. Is alpn-boot on the boot class path?", 0, null, 6, null);
|
|
return null;
|
|
}
|
|
if (alpnProvider.getUnsupported()) {
|
|
return null;
|
|
}
|
|
return alpnProvider.getSelected();
|
|
} catch (IllegalAccessException e) {
|
|
throw new AssertionError("failed to get ALPN selected protocol", e);
|
|
} catch (InvocationTargetException e2) {
|
|
throw new AssertionError("failed to get ALPN selected protocol", e2);
|
|
}
|
|
}
|
|
|
|
/* compiled from: Jdk8WithJettyBootPlatform.kt */
|
|
@Metadata(bv = {1, 0, 3}, d1 = {"\u00004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0010\u000e\n\u0002\b\u0007\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0002\b\u0002\u0018\u00002\u00020\u0001B\u0013\u0012\f\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00040\u0003¢\u0006\u0002\u0010\u0005J0\u0010\u0011\u001a\u0004\u0018\u00010\u00122\u0006\u0010\u0013\u001a\u00020\u00122\u0006\u0010\u0014\u001a\u00020\u00152\u000e\u0010\u0016\u001a\n\u0012\u0004\u0012\u00020\u0012\u0018\u00010\u0017H\u0096\u0002¢\u0006\u0002\u0010\u0018R\u0014\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00040\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u001c\u0010\u0006\u001a\u0004\u0018\u00010\u0004X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0007\u0010\b\"\u0004\b\t\u0010\nR\u001a\u0010\u000b\u001a\u00020\fX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\r\u0010\u000e\"\u0004\b\u000f\u0010\u0010¨\u0006\u0019"}, d2 = {"Lokhttp3/internal/platform/Jdk8WithJettyBootPlatform$AlpnProvider;", "Ljava/lang/reflect/InvocationHandler;", "protocols", "", "", "(Ljava/util/List;)V", "selected", "getSelected", "()Ljava/lang/String;", "setSelected", "(Ljava/lang/String;)V", "unsupported", "", "getUnsupported", "()Z", "setUnsupported", "(Z)V", "invoke", "", "proxy", Request.JsonKeys.METHOD, "Ljava/lang/reflect/Method;", "args", "", "(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", "okhttp"}, k = 1, mv = {1, 4, 0})
|
|
/* loaded from: classes3.dex */
|
|
private static final class AlpnProvider implements InvocationHandler {
|
|
private final List<String> protocols;
|
|
private String selected;
|
|
private boolean unsupported;
|
|
|
|
public final String getSelected() {
|
|
return this.selected;
|
|
}
|
|
|
|
public final boolean getUnsupported() {
|
|
return this.unsupported;
|
|
}
|
|
|
|
public final void setSelected(String str) {
|
|
this.selected = str;
|
|
}
|
|
|
|
public final void setUnsupported(boolean z) {
|
|
this.unsupported = z;
|
|
}
|
|
|
|
public AlpnProvider(List<String> protocols) {
|
|
Intrinsics.checkNotNullParameter(protocols, "protocols");
|
|
this.protocols = protocols;
|
|
}
|
|
|
|
@Override // java.lang.reflect.InvocationHandler
|
|
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
|
|
Intrinsics.checkNotNullParameter(proxy, "proxy");
|
|
Intrinsics.checkNotNullParameter(method, "method");
|
|
if (args == null) {
|
|
args = new Object[0];
|
|
}
|
|
String name = method.getName();
|
|
Class<?> returnType = method.getReturnType();
|
|
if (Intrinsics.areEqual(name, "supports") && Intrinsics.areEqual(Boolean.TYPE, returnType)) {
|
|
return true;
|
|
}
|
|
if (Intrinsics.areEqual(name, "unsupported") && Intrinsics.areEqual(Void.TYPE, returnType)) {
|
|
this.unsupported = true;
|
|
return null;
|
|
}
|
|
if (Intrinsics.areEqual(name, "protocols") && args.length == 0) {
|
|
return this.protocols;
|
|
}
|
|
if ((Intrinsics.areEqual(name, "selectProtocol") || Intrinsics.areEqual(name, "select")) && Intrinsics.areEqual(String.class, returnType) && args.length == 1) {
|
|
Object obj = args[0];
|
|
if (obj instanceof List) {
|
|
if (obj != null) {
|
|
List list = (List) obj;
|
|
int size = list.size();
|
|
if (size >= 0) {
|
|
int i = 0;
|
|
while (true) {
|
|
Object obj2 = list.get(i);
|
|
if (obj2 == null) {
|
|
throw new NullPointerException("null cannot be cast to non-null type kotlin.String");
|
|
}
|
|
String str = (String) obj2;
|
|
if (!this.protocols.contains(str)) {
|
|
if (i == size) {
|
|
break;
|
|
}
|
|
i++;
|
|
} else {
|
|
this.selected = str;
|
|
return str;
|
|
}
|
|
}
|
|
}
|
|
String str2 = this.protocols.get(0);
|
|
this.selected = str2;
|
|
return str2;
|
|
}
|
|
throw new NullPointerException("null cannot be cast to non-null type kotlin.collections.List<*>");
|
|
}
|
|
}
|
|
if ((Intrinsics.areEqual(name, "protocolSelected") || Intrinsics.areEqual(name, "selected")) && args.length == 1) {
|
|
Object obj3 = args[0];
|
|
if (obj3 == null) {
|
|
throw new NullPointerException("null cannot be cast to non-null type kotlin.String");
|
|
}
|
|
this.selected = (String) obj3;
|
|
return null;
|
|
}
|
|
return method.invoke(this, Arrays.copyOf(args, args.length));
|
|
}
|
|
}
|
|
|
|
/* compiled from: Jdk8WithJettyBootPlatform.kt */
|
|
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\b\u0010\u0003\u001a\u0004\u0018\u00010\u0004¨\u0006\u0005"}, d2 = {"Lokhttp3/internal/platform/Jdk8WithJettyBootPlatform$Companion;", "", "()V", "buildIfSupported", "Lokhttp3/internal/platform/Platform;", "okhttp"}, k = 1, mv = {1, 4, 0})
|
|
/* loaded from: classes3.dex */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public final Platform buildIfSupported() {
|
|
String jvmVersion = System.getProperty("java.specification.version", "unknown");
|
|
try {
|
|
Intrinsics.checkNotNullExpressionValue(jvmVersion, "jvmVersion");
|
|
if (Integer.parseInt(jvmVersion) >= 9) {
|
|
return null;
|
|
}
|
|
} catch (NumberFormatException unused) {
|
|
}
|
|
try {
|
|
Class<?> cls = Class.forName("org.eclipse.jetty.alpn.ALPN", true, null);
|
|
Class<?> cls2 = Class.forName("org.eclipse.jetty.alpn.ALPN$Provider", true, null);
|
|
Class<?> clientProviderClass = Class.forName("org.eclipse.jetty.alpn.ALPN$ClientProvider", true, null);
|
|
Class<?> serverProviderClass = Class.forName("org.eclipse.jetty.alpn.ALPN$ServerProvider", true, null);
|
|
Method putMethod = cls.getMethod("put", SSLSocket.class, cls2);
|
|
Method getMethod = cls.getMethod("get", SSLSocket.class);
|
|
Method removeMethod = cls.getMethod("remove", SSLSocket.class);
|
|
Intrinsics.checkNotNullExpressionValue(putMethod, "putMethod");
|
|
Intrinsics.checkNotNullExpressionValue(getMethod, "getMethod");
|
|
Intrinsics.checkNotNullExpressionValue(removeMethod, "removeMethod");
|
|
Intrinsics.checkNotNullExpressionValue(clientProviderClass, "clientProviderClass");
|
|
Intrinsics.checkNotNullExpressionValue(serverProviderClass, "serverProviderClass");
|
|
return new Jdk8WithJettyBootPlatform(putMethod, getMethod, removeMethod, clientProviderClass, serverProviderClass);
|
|
} catch (ClassNotFoundException | NoSuchMethodException unused2) {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
}
|