Skip to content

Commit fe57c29

Browse files
authored
Add methodInfoResolver attribute to Coroutinebuilder (OpenFeign#1762)
* Add methodInfoResolver attribute to Coroutinebuilder Work on the [feedback](OpenFeign#1754 (comment)) of PR OpenFeign#1754
1 parent 2122b55 commit fe57c29

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

kotlin/src/main/java/feign/kotlin/CoroutineFeign.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import feign.BaseBuilder;
2020
import feign.Client;
2121
import feign.Experimental;
22+
import feign.MethodInfoResolver;
2223
import feign.Target;
2324
import feign.Target.HardCodedTarget;
2425
import 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

Comments
 (0)