diff --git a/clients/line-bot-client-base/src/main/java/com/linecorp/bot/client/base/ApiClientBuilder.java b/clients/line-bot-client-base/src/main/java/com/linecorp/bot/client/base/ApiClientBuilder.java index c28ed72ac..f47a052ac 100644 --- a/clients/line-bot-client-base/src/main/java/com/linecorp/bot/client/base/ApiClientBuilder.java +++ b/clients/line-bot-client-base/src/main/java/com/linecorp/bot/client/base/ApiClientBuilder.java @@ -37,6 +37,7 @@ import com.linecorp.bot.jackson.ModelObjectMapper; import okhttp3.Dispatcher; +import okhttp3.EventListener; import okhttp3.Interceptor; import okhttp3.OkHttpClient; import okhttp3.Request; @@ -89,6 +90,13 @@ public ApiClientBuilder(URI apiEndPoint, Class clientClass, ExceptionBuilder */ private List additionalInterceptors = new ArrayList<>(); + /** + * Custom EventListener + * + *

You can add your own EventListener. + */ + private EventListener eventListener; + private Proxy proxy; private HttpAuthenticator proxyAuthenticator; @@ -141,6 +149,11 @@ public ApiClientBuilder addInterceptor(HttpInterceptor interceptor) { return this; } + public ApiClientBuilder setEventListener(EventListener eventListener) { + this.eventListener = eventListener; + return this; + } + /** * The maximum number of requests to execute concurrently. * Default: 64 @@ -230,6 +243,10 @@ public T build() { } }); + if (this.eventListener != null) { + okHttpClientBuilder.eventListener(this.eventListener); + } + if (this.proxy != null) { okHttpClientBuilder.proxy(this.proxy); } @@ -262,6 +279,7 @@ public String toString() { + ", readTimeout=" + readTimeout + ", writeTimeout=" + writeTimeout + ", additionalInterceptors=" + additionalInterceptors + + ", eventListener=" + eventListener + ", maxRequests=" + maxRequests + ", maxRequestsPerHost=" + maxRequestsPerHost + '}';