1919import feign .BaseBuilder ;
2020import feign .Client ;
2121import feign .Experimental ;
22+ import feign .MethodInfoResolver ;
2223import feign .Target ;
2324import feign .Target .HardCodedTarget ;
2425import java .lang .reflect .InvocationHandler ;
@@ -116,6 +117,7 @@ public static class CoroutineBuilder<C> extends BaseBuilder<CoroutineBuilder<C>>
116117 private AsyncClient <C > client =
117118 new AsyncClient .Default <>(
118119 new Client .Default (null , null ), LazyInitializedExecutorService .instance );
120+ private MethodInfoResolver methodInfoResolver = KotlinMethodInfo ::createInstance ;
119121
120122 @ Deprecated
121123 public CoroutineBuilder <C > defaultContextSupplier (Supplier <C > supplier ) {
@@ -133,6 +135,11 @@ public CoroutineBuilder<C> defaultContextSupplier(AsyncContextSupplier<C> suppli
133135 return this ;
134136 }
135137
138+ public CoroutineBuilder <C > methodInfoResolver (MethodInfoResolver methodInfoResolver ) {
139+ this .methodInfoResolver = methodInfoResolver ;
140+ return this ;
141+ }
142+
136143 public <T > T target (Class <T > apiType , String url ) {
137144 return target (new HardCodedTarget <>(apiType , url ));
138145 }
@@ -169,7 +176,7 @@ public CoroutineFeign<C> build() {
169176 .responseInterceptor (responseInterceptor )
170177 .invocationHandlerFactory (invocationHandlerFactory )
171178 .defaultContextSupplier ((AsyncContextSupplier <Object >) defaultContextSupplier )
172- .methodInfoResolver (KotlinMethodInfo :: createInstance )
179+ .methodInfoResolver (methodInfoResolver )
173180 .build ();
174181 return new CoroutineFeign <>(asyncFeign );
175182 }
0 commit comments