diff --git a/core/src/main/java/feign/AsyncFeign.java b/core/src/main/java/feign/AsyncFeign.java index cd21ad8dc..3641c3557 100644 --- a/core/src/main/java/feign/AsyncFeign.java +++ b/core/src/main/java/feign/AsyncFeign.java @@ -15,7 +15,6 @@ import feign.InvocationHandlerFactory.MethodHandler; import feign.Logger.Level; -import feign.ReflectiveFeign.ParseHandlersByName; import feign.Request.Options; import feign.Target.HardCodedTarget; import feign.codec.Decoder; @@ -218,10 +217,9 @@ public AsyncFeign build() { options, decoder, errorDecoder); - final ParseHandlersByName handlersByName = - new ParseHandlersByName<>(contract, methodHandlerFactory); final ReflectiveFeign feign = - new ReflectiveFeign<>(handlersByName, invocationHandlerFactory, defaultContextSupplier); + new ReflectiveFeign<>( + contract, methodHandlerFactory, invocationHandlerFactory, defaultContextSupplier); return new AsyncFeign<>(feign); } } diff --git a/core/src/main/java/feign/Feign.java b/core/src/main/java/feign/Feign.java index f2d804785..eb86a01b3 100644 --- a/core/src/main/java/feign/Feign.java +++ b/core/src/main/java/feign/Feign.java @@ -14,7 +14,6 @@ package feign; import feign.InvocationHandlerFactory.MethodHandler; -import feign.ReflectiveFeign.ParseHandlersByName; import feign.Request.Options; import feign.Target.HardCodedTarget; import feign.codec.Decoder; @@ -208,7 +207,7 @@ public Feign build() { dismiss404, closeAfterDecode, responseInterceptor); - MethodHandler.Factory synchronousMethodHandlerFactory = + MethodHandler.Factory methodHandlerFactory = new SynchronousMethodHandler.Factory( client, retryer, @@ -219,9 +218,8 @@ public Feign build() { propagationPolicy, new RequestTemplateFactoryResolver(encoder, queryMapEncoder), options); - ParseHandlersByName handlersByName = - new ParseHandlersByName<>(contract, synchronousMethodHandlerFactory); - return new ReflectiveFeign<>(handlersByName, invocationHandlerFactory, () -> null); + return new ReflectiveFeign<>( + contract, methodHandlerFactory, invocationHandlerFactory, () -> null); } } diff --git a/core/src/main/java/feign/ReflectiveFeign.java b/core/src/main/java/feign/ReflectiveFeign.java index ff77992ff..b112f0f69 100644 --- a/core/src/main/java/feign/ReflectiveFeign.java +++ b/core/src/main/java/feign/ReflectiveFeign.java @@ -32,11 +32,12 @@ public class ReflectiveFeign extends Feign { private final AsyncContextSupplier defaultContextSupplier; ReflectiveFeign( - ParseHandlersByName targetToHandlersByName, - InvocationHandlerFactory factory, + Contract contract, + MethodHandler.Factory methodHandlerFactory, + InvocationHandlerFactory invocationHandlerFactory, AsyncContextSupplier defaultContextSupplier) { - this.targetToHandlersByName = targetToHandlersByName; - this.factory = factory; + this.targetToHandlersByName = new ParseHandlersByName(contract, methodHandlerFactory); + this.factory = invocationHandlerFactory; this.defaultContextSupplier = defaultContextSupplier; } @@ -118,7 +119,7 @@ public String toString() { } } - static final class ParseHandlersByName { + private static final class ParseHandlersByName { private final Contract contract; private final MethodHandler.Factory factory;