what-the-bank/sources/okhttp3/repackaged/internal/http/StatusLine.java

82 lines
2.8 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package okhttp3.repackaged.internal.http;
import java.io.IOException;
import java.net.ProtocolException;
import okhttp3.repackaged.Protocol;
import okhttp3.repackaged.Response;
/* loaded from: classes6.dex */
public final class StatusLine {
public static final int HTTP_CONTINUE = 100;
public static final int HTTP_PERM_REDIRECT = 308;
public static final int HTTP_TEMP_REDIRECT = 307;
public final int code;
public final String message;
public final Protocol protocol;
public StatusLine(Protocol protocol, int i, String str) {
this.protocol = protocol;
this.code = i;
this.message = str;
}
public static StatusLine get(Response response) {
return new StatusLine(response.protocol(), response.code(), response.message());
}
public static StatusLine parse(String str) throws IOException {
Protocol protocol;
int i;
String str2;
if (str.startsWith("HTTP/1.")) {
i = 9;
if (str.length() < 9 || str.charAt(8) != ' ') {
throw new ProtocolException("Unexpected status line: ".concat(String.valueOf(str)));
}
int charAt = str.charAt(7) - '0';
if (charAt == 0) {
protocol = Protocol.HTTP_1_0;
} else if (charAt == 1) {
protocol = Protocol.HTTP_1_1;
} else {
throw new ProtocolException("Unexpected status line: ".concat(String.valueOf(str)));
}
} else if (str.startsWith("ICY ")) {
protocol = Protocol.HTTP_1_0;
i = 4;
} else {
throw new ProtocolException("Unexpected status line: ".concat(String.valueOf(str)));
}
int i2 = i + 3;
if (str.length() < i2) {
throw new ProtocolException("Unexpected status line: ".concat(String.valueOf(str)));
}
try {
int parseInt = Integer.parseInt(str.substring(i, i2));
if (str.length() <= i2) {
str2 = "";
} else {
if (str.charAt(i2) != ' ') {
throw new ProtocolException("Unexpected status line: ".concat(String.valueOf(str)));
}
str2 = str.substring(i + 4);
}
return new StatusLine(protocol, parseInt, str2);
} catch (NumberFormatException unused) {
throw new ProtocolException("Unexpected status line: ".concat(String.valueOf(str)));
}
}
public final String toString() {
StringBuilder sb = new StringBuilder();
sb.append(this.protocol == Protocol.HTTP_1_0 ? "HTTP/1.0" : "HTTP/1.1");
sb.append(' ');
sb.append(this.code);
if (this.message != null) {
sb.append(' ');
sb.append(this.message);
}
return sb.toString();
}
}