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");
}
}