- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
97 lines
3.3 KiB
Java
97 lines
3.3 KiB
Java
package okhttp3.internal.http2;
|
|
|
|
import java.io.IOException;
|
|
import okhttp3.internal.Util;
|
|
import okio.ByteString;
|
|
|
|
/* loaded from: classes5.dex */
|
|
public abstract class Http2 {
|
|
public static final ByteString CONNECTION_PREFACE = ByteString.encodeUtf8("PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n");
|
|
public static final String[] FRAME_NAMES = {"DATA", "HEADERS", "PRIORITY", "RST_STREAM", "SETTINGS", "PUSH_PROMISE", "PING", "GOAWAY", "WINDOW_UPDATE", "CONTINUATION"};
|
|
public static final String[] FLAGS = new String[64];
|
|
public static final String[] BINARY = new String[256];
|
|
|
|
static {
|
|
int i = 0;
|
|
int i2 = 0;
|
|
while (true) {
|
|
String[] strArr = BINARY;
|
|
if (i2 >= strArr.length) {
|
|
break;
|
|
}
|
|
strArr[i2] = Util.format("%8s", Integer.toBinaryString(i2)).replace(' ', '0');
|
|
i2++;
|
|
}
|
|
String[] strArr2 = FLAGS;
|
|
strArr2[0] = "";
|
|
strArr2[1] = "END_STREAM";
|
|
int[] iArr = {1};
|
|
strArr2[8] = "PADDED";
|
|
int i3 = iArr[0];
|
|
strArr2[i3 | 8] = strArr2[i3] + "|PADDED";
|
|
strArr2[4] = "END_HEADERS";
|
|
strArr2[32] = "PRIORITY";
|
|
strArr2[36] = "END_HEADERS|PRIORITY";
|
|
int[] iArr2 = {4, 32, 36};
|
|
for (int i4 = 0; i4 < 3; i4++) {
|
|
int i5 = iArr2[i4];
|
|
int i6 = iArr[0];
|
|
String[] strArr3 = FLAGS;
|
|
int i7 = i6 | i5;
|
|
strArr3[i7] = strArr3[i6] + '|' + strArr3[i5];
|
|
strArr3[i7 | 8] = strArr3[i6] + '|' + strArr3[i5] + "|PADDED";
|
|
}
|
|
while (true) {
|
|
String[] strArr4 = FLAGS;
|
|
if (i >= strArr4.length) {
|
|
return;
|
|
}
|
|
if (strArr4[i] == null) {
|
|
strArr4[i] = BINARY[i];
|
|
}
|
|
i++;
|
|
}
|
|
}
|
|
|
|
public static IllegalArgumentException illegalArgument(String str, Object... objArr) {
|
|
throw new IllegalArgumentException(Util.format(str, objArr));
|
|
}
|
|
|
|
public static IOException ioException(String str, Object... objArr) {
|
|
throw new IOException(Util.format(str, objArr));
|
|
}
|
|
|
|
public static String frameLog(boolean z, int i, int i2, byte b, byte b2) {
|
|
String[] strArr = FRAME_NAMES;
|
|
String format = b < strArr.length ? strArr[b] : Util.format("0x%02x", Byte.valueOf(b));
|
|
String formatFlags = formatFlags(b, b2);
|
|
Object[] objArr = new Object[5];
|
|
objArr[0] = z ? "<<" : ">>";
|
|
objArr[1] = Integer.valueOf(i);
|
|
objArr[2] = Integer.valueOf(i2);
|
|
objArr[3] = format;
|
|
objArr[4] = formatFlags;
|
|
return Util.format("%s 0x%08x %5d %-13s %s", objArr);
|
|
}
|
|
|
|
public static String formatFlags(byte b, byte b2) {
|
|
if (b2 == 0) {
|
|
return "";
|
|
}
|
|
if (b != 2 && b != 3) {
|
|
if (b == 4 || b == 6) {
|
|
return b2 == 1 ? "ACK" : BINARY[b2];
|
|
}
|
|
if (b != 7 && b != 8) {
|
|
String[] strArr = FLAGS;
|
|
String str = b2 < strArr.length ? strArr[b2] : BINARY[b2];
|
|
if (b != 5 || (b2 & 4) == 0) {
|
|
return (b != 0 || (b2 & 32) == 0) ? str : str.replace("PRIORITY", "COMPRESSED");
|
|
}
|
|
return str.replace("HEADERS", "PUSH_PROMISE");
|
|
}
|
|
}
|
|
return BINARY[b2];
|
|
}
|
|
}
|