in src/main/java/feign/error/ExceptionGenerator.java [70:90]
Exception createException(Response response) throws InvocationTargetException,
NoSuchMethodException, InstantiationException, IllegalAccessException {
Class<?>[] paramClasses = new Class[numOfParams];
Object[] paramValues = new Object[numOfParams];
if (bodyIndex >= 0) {
paramClasses[bodyIndex] = Types.getRawType(bodyType);
paramValues[bodyIndex] = resolveBody(response);
}
if (requestIndex >= 0) {
paramClasses[requestIndex] = Request.class;
paramValues[requestIndex] = response.request();
}
if (headerMapIndex >= 0) {
paramValues[headerMapIndex] = response.headers();
paramClasses[headerMapIndex] = Map.class;
}
return exceptionType.getConstructor(paramClasses)
.newInstance(paramValues);
}