mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
113 lines
7.5 KiB
Java
113 lines
7.5 KiB
Java
package okhttp3.internal.http2;
|
|
|
|
import io.sentry.SentryEnvelopeItemHeader;
|
|
import kotlin.Metadata;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.text.StringsKt;
|
|
import okhttp3.internal.Util;
|
|
import okio.ByteString;
|
|
|
|
/* compiled from: Http2.kt */
|
|
@Metadata(bv = {1, 0, 3}, d1 = {"\u00000\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0011\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u001a\n\u0002\u0010\u000b\n\u0002\b\u0003\bÆ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u0016\u0010\u001f\u001a\u00020\u00052\u0006\u0010 \u001a\u00020\u000b2\u0006\u0010!\u001a\u00020\u000bJ\u0015\u0010\"\u001a\u00020\u00052\u0006\u0010 \u001a\u00020\u000bH\u0000¢\u0006\u0002\b#J.\u0010$\u001a\u00020\u00052\u0006\u0010%\u001a\u00020&2\u0006\u0010'\u001a\u00020\u000b2\u0006\u0010(\u001a\u00020\u000b2\u0006\u0010 \u001a\u00020\u000b2\u0006\u0010!\u001a\u00020\u000bR\u0016\u0010\u0003\u001a\b\u0012\u0004\u0012\u00020\u00050\u0004X\u0082\u0004¢\u0006\u0004\n\u0002\u0010\u0006R\u0010\u0010\u0007\u001a\u00020\b8\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0018\u0010\t\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u00050\u0004X\u0082\u0004¢\u0006\u0004\n\u0002\u0010\u0006R\u000e\u0010\n\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u000f\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0010\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0011\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0012\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u0016\u0010\u0013\u001a\b\u0012\u0004\u0012\u00020\u00050\u0004X\u0082\u0004¢\u0006\u0004\n\u0002\u0010\u0006R\u000e\u0010\u0014\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0015\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0016\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0017\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0018\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0019\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u001a\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u001b\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u001c\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u001d\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u001e\u001a\u00020\u000bX\u0086T¢\u0006\u0002\n\u0000¨\u0006)"}, d2 = {"Lokhttp3/internal/http2/Http2;", "", "()V", "BINARY", "", "", "[Ljava/lang/String;", "CONNECTION_PREFACE", "Lokio/ByteString;", "FLAGS", "FLAG_ACK", "", "FLAG_COMPRESSED", "FLAG_END_HEADERS", "FLAG_END_PUSH_PROMISE", "FLAG_END_STREAM", "FLAG_NONE", "FLAG_PADDED", "FLAG_PRIORITY", "FRAME_NAMES", "INITIAL_MAX_FRAME_SIZE", "TYPE_CONTINUATION", "TYPE_DATA", "TYPE_GOAWAY", "TYPE_HEADERS", "TYPE_PING", "TYPE_PRIORITY", "TYPE_PUSH_PROMISE", "TYPE_RST_STREAM", "TYPE_SETTINGS", "TYPE_WINDOW_UPDATE", "formatFlags", "type", "flags", "formattedType", "formattedType$okhttp", "frameLog", "inbound", "", "streamId", SentryEnvelopeItemHeader.JsonKeys.LENGTH, "okhttp"}, k = 1, mv = {1, 4, 0})
|
|
/* loaded from: classes3.dex */
|
|
public final class Http2 {
|
|
private static final String[] BINARY;
|
|
public static final int FLAG_ACK = 1;
|
|
public static final int FLAG_COMPRESSED = 32;
|
|
public static final int FLAG_END_HEADERS = 4;
|
|
public static final int FLAG_END_PUSH_PROMISE = 4;
|
|
public static final int FLAG_END_STREAM = 1;
|
|
public static final int FLAG_NONE = 0;
|
|
public static final int FLAG_PADDED = 8;
|
|
public static final int FLAG_PRIORITY = 32;
|
|
public static final int INITIAL_MAX_FRAME_SIZE = 16384;
|
|
public static final int TYPE_CONTINUATION = 9;
|
|
public static final int TYPE_DATA = 0;
|
|
public static final int TYPE_GOAWAY = 7;
|
|
public static final int TYPE_HEADERS = 1;
|
|
public static final int TYPE_PING = 6;
|
|
public static final int TYPE_PRIORITY = 2;
|
|
public static final int TYPE_PUSH_PROMISE = 5;
|
|
public static final int TYPE_RST_STREAM = 3;
|
|
public static final int TYPE_SETTINGS = 4;
|
|
public static final int TYPE_WINDOW_UPDATE = 8;
|
|
public static final Http2 INSTANCE = new Http2();
|
|
public static final ByteString CONNECTION_PREFACE = ByteString.INSTANCE.encodeUtf8("PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n");
|
|
private static final String[] FRAME_NAMES = {"DATA", "HEADERS", "PRIORITY", "RST_STREAM", "SETTINGS", "PUSH_PROMISE", "PING", "GOAWAY", "WINDOW_UPDATE", "CONTINUATION"};
|
|
private static final String[] FLAGS = new String[64];
|
|
|
|
static {
|
|
String[] strArr = new String[256];
|
|
for (int i = 0; i < 256; i++) {
|
|
String binaryString = Integer.toBinaryString(i);
|
|
Intrinsics.checkNotNullExpressionValue(binaryString, "Integer.toBinaryString(it)");
|
|
strArr[i] = StringsKt.replace$default(Util.format("%8s", binaryString), ' ', '0', false, 4, (Object) null);
|
|
}
|
|
BINARY = strArr;
|
|
String[] strArr2 = FLAGS;
|
|
strArr2[0] = "";
|
|
strArr2[1] = "END_STREAM";
|
|
int[] iArr = {1};
|
|
strArr2[8] = "PADDED";
|
|
int i2 = iArr[0];
|
|
strArr2[i2 | 8] = Intrinsics.stringPlus(strArr2[i2], "|PADDED");
|
|
strArr2[4] = "END_HEADERS";
|
|
strArr2[32] = "PRIORITY";
|
|
strArr2[36] = "END_HEADERS|PRIORITY";
|
|
int[] iArr2 = {4, 32, 36};
|
|
for (int i3 = 0; i3 < 3; i3++) {
|
|
int i4 = iArr2[i3];
|
|
int i5 = iArr[0];
|
|
String[] strArr3 = FLAGS;
|
|
int i6 = i5 | i4;
|
|
strArr3[i6] = strArr3[i5] + "|" + strArr3[i4];
|
|
strArr3[i6 | 8] = strArr3[i5] + "|" + strArr3[i4] + "|PADDED";
|
|
}
|
|
int length = FLAGS.length;
|
|
for (int i7 = 0; i7 < length; i7++) {
|
|
String[] strArr4 = FLAGS;
|
|
if (strArr4[i7] == null) {
|
|
strArr4[i7] = BINARY[i7];
|
|
}
|
|
}
|
|
}
|
|
|
|
private Http2() {
|
|
}
|
|
|
|
public final String frameLog(boolean inbound, int streamId, int length, int type, int flags) {
|
|
return Util.format("%s 0x%08x %5d %-13s %s", inbound ? "<<" : ">>", Integer.valueOf(streamId), Integer.valueOf(length), formattedType$okhttp(type), formatFlags(type, flags));
|
|
}
|
|
|
|
public final String formattedType$okhttp(int type) {
|
|
String[] strArr = FRAME_NAMES;
|
|
return type < strArr.length ? strArr[type] : Util.format("0x%02x", Integer.valueOf(type));
|
|
}
|
|
|
|
public final String formatFlags(int type, int flags) {
|
|
String str;
|
|
if (flags == 0) {
|
|
return "";
|
|
}
|
|
if (type != 2 && type != 3) {
|
|
if (type == 4 || type == 6) {
|
|
return flags == 1 ? "ACK" : BINARY[flags];
|
|
}
|
|
if (type != 7 && type != 8) {
|
|
String[] strArr = FLAGS;
|
|
if (flags < strArr.length) {
|
|
str = strArr[flags];
|
|
Intrinsics.checkNotNull(str);
|
|
} else {
|
|
str = BINARY[flags];
|
|
}
|
|
String str2 = str;
|
|
if (type != 5 || (flags & 4) == 0) {
|
|
return (type != 0 || (flags & 32) == 0) ? str2 : StringsKt.replace$default(str2, "PRIORITY", "COMPRESSED", false, 4, (Object) null);
|
|
}
|
|
return StringsKt.replace$default(str2, "HEADERS", "PUSH_PROMISE", false, 4, (Object) null);
|
|
}
|
|
}
|
|
return BINARY[flags];
|
|
}
|
|
}
|