CamScanner.apk(点击下载) / Response.java


package com.vungle.warren.network;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import okhttp3.Headers;
import okhttp3.Protocol;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;

public final class Response<T> {
    @Nullable
    private final T body;
    @Nullable
    private final ResponseBody errorBody;
    private final okhttp3.Response rawResponse;

    private Response(okhttp3.Response response, @Nullable T t10, @Nullable ResponseBody responseBody) {
        this.rawResponse = response;
        this.body = t10;
        this.errorBody = responseBody;
    }

    public static <T> Response<T> error(int i10, ResponseBody responseBody) {
        if (i10 >= 400) {
            return error(responseBody, new Response.Builder().g(i10).m("Response.error()").p(Protocol.HTTP_1_1).r(new Request.Builder().p("http://localhost/").b()).c());
        }
        throw new IllegalArgumentException("code < 400: " + i10);
    }

    public static <T> Response<T> error(@NonNull ResponseBody responseBody, @NonNull okhttp3.Response response) {
        if (!response.z()) {
            return new Response<>(response, null, responseBody);
        }
        throw new IllegalArgumentException("rawResponse should not be successful response");
    }

    public static <T> Response<T> success(@Nullable T t10) {
        return success(t10, new Response.Builder().g(200).m("OK").p(Protocol.HTTP_1_1).r(new Request.Builder().p("http://localhost/").b()).c());
    }

    public static <T> Response<T> success(@Nullable T t10, @NonNull okhttp3.Response response) {
        if (response.z()) {
            return new Response<>(response, t10, null);
        }
        throw new IllegalArgumentException("rawResponse must be successful response");
    }

    @Nullable
    public T body() {
        return this.body;
    }

    public int code() {
        return this.rawResponse.p();
    }

    @Nullable
    public ResponseBody errorBody() {
        return this.errorBody;
    }

    public Headers headers() {
        return this.rawResponse.x();
    }

    public boolean isSuccessful() {
        return this.rawResponse.z();
    }

    public String message() {
        return this.rawResponse.A();
    }

    public okhttp3.Response raw() {
        return this.rawResponse;
    }

    public String toString() {
        return this.rawResponse.toString();
    }
}