|
|
@ -91,31 +91,51 @@ public class EnhancedFeignClient implements Client {
|
|
|
|
|
|
|
|
|
|
|
|
// Run pre enhanced feign plugins.
|
|
|
|
// Run pre enhanced feign plugins.
|
|
|
|
for (EnhancedFeignPlugin plugin : preEnhancedFeignPlugins) {
|
|
|
|
for (EnhancedFeignPlugin plugin : preEnhancedFeignPlugins) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
plugin.run(enhancedFeignContext);
|
|
|
|
plugin.run(enhancedFeignContext);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Throwable throwable) {
|
|
|
|
|
|
|
|
plugin.handlerThrowable(enhancedFeignContext, throwable);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Response response = delegate.execute(request, options);
|
|
|
|
Response response = delegate.execute(request, options);
|
|
|
|
enhancedFeignContext.setResponse(response);
|
|
|
|
enhancedFeignContext.setResponse(response);
|
|
|
|
|
|
|
|
|
|
|
|
// Run post enhanced feign plugins.
|
|
|
|
// Run post enhanced feign plugins.
|
|
|
|
for (EnhancedFeignPlugin plugin : postEnhancedFeignPlugins) {
|
|
|
|
for (EnhancedFeignPlugin plugin : postEnhancedFeignPlugins) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
plugin.run(enhancedFeignContext);
|
|
|
|
plugin.run(enhancedFeignContext);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Throwable throwable) {
|
|
|
|
|
|
|
|
plugin.handlerThrowable(enhancedFeignContext, throwable);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
return response;
|
|
|
|
return response;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (IOException origin) {
|
|
|
|
catch (IOException origin) {
|
|
|
|
enhancedFeignContext.setException(origin);
|
|
|
|
enhancedFeignContext.setException(origin);
|
|
|
|
// Run exception enhanced feign plugins.
|
|
|
|
// Run exception enhanced feign plugins.
|
|
|
|
for (EnhancedFeignPlugin plugin : exceptionEnhancedFeignPlugins) {
|
|
|
|
for (EnhancedFeignPlugin plugin : exceptionEnhancedFeignPlugins) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
plugin.run(enhancedFeignContext);
|
|
|
|
plugin.run(enhancedFeignContext);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Throwable throwable) {
|
|
|
|
|
|
|
|
plugin.handlerThrowable(enhancedFeignContext, throwable);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
throw origin;
|
|
|
|
throw origin;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
finally {
|
|
|
|
finally {
|
|
|
|
// Run finally enhanced feign plugins.
|
|
|
|
// Run finally enhanced feign plugins.
|
|
|
|
for (EnhancedFeignPlugin plugin : finallyEnhancedFeignPlugins) {
|
|
|
|
for (EnhancedFeignPlugin plugin : finallyEnhancedFeignPlugins) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
plugin.run(enhancedFeignContext);
|
|
|
|
plugin.run(enhancedFeignContext);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Throwable throwable) {
|
|
|
|
|
|
|
|
plugin.handlerThrowable(enhancedFeignContext, throwable);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|