public static ApiError parseError()

in uber-rides/src/main/java/com/uber/sdk/rides/client/error/ErrorParser.java [69:88]


    public static ApiError parseError(@Nullable String errorBody, int statusCode, @Nullable String message) {
        if (errorBody == null) {
            return new ApiError(null, statusCode, message);
        }

        Moshi moshi = new Moshi.Builder().build();
        JsonAdapter<CompatibilityApiError> oldApiErrorJsonAdapter = moshi.adapter(CompatibilityApiError.class).failOnUnknown();
        try {
             return new ApiError(oldApiErrorJsonAdapter.fromJson(errorBody), statusCode);
        } catch (IOException | JsonDataException exception) {
            // Not old type of error, move on
        }

        JsonAdapter<ApiError> apiErrorJsonAdapter = moshi.adapter(ApiError.class).failOnUnknown();
        try {
            return apiErrorJsonAdapter.fromJson(errorBody);
        } catch (IOException | JsonDataException exception) {
            return new ApiError(null, statusCode, "Unknown Error");
        }
    }