From cc14d22070d4f78d5b91a61c6c331be3a680856c Mon Sep 17 00:00:00 2001 From: Stephan Date: Wed, 26 Feb 2025 12:59:04 +0100 Subject: [PATCH] Fix adding/removing interceptors to OkHttpClient in OkHttp3 --- .../Java/libraries/okhttp4-gson/ApiClient.mustache | 6 +++--- .../handlebars/Java/libraries/okhttp4-gson/api.mustache | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/resources/handlebars/Java/libraries/okhttp4-gson/ApiClient.mustache b/src/main/resources/handlebars/Java/libraries/okhttp4-gson/ApiClient.mustache index 7b42211558..ee8a8ff241 100644 --- a/src/main/resources/handlebars/Java/libraries/okhttp4-gson/ApiClient.mustache +++ b/src/main/resources/handlebars/Java/libraries/okhttp4-gson/ApiClient.mustache @@ -80,7 +80,7 @@ public class ApiClient { {{#useGzipFeature}} // Enable gzip request compression - httpClient.interceptors().add(new GzipRequestInterceptor()); + setHttpClient(getHttpClient.newBuilder().interceptors().add(new GzipRequestInterceptor()).build()); {{/useGzipFeature}} json = new JSON(); @@ -338,9 +338,9 @@ public class ApiClient { if (debugging) { loggingInterceptor = new HttpLoggingInterceptor(); loggingInterceptor.setLevel(Level.BODY); - httpClient.interceptors().add(loggingInterceptor); + setHttpClient(getHttpClient.newBuilder().interceptors().add(logginInterceptor).build()); } else { - httpClient.interceptors().remove(loggingInterceptor); + setHttpClient(getHttpClient.newBuilder().interceptors().remove(logginInterceptor).build()); loggingInterceptor = null; } } diff --git a/src/main/resources/handlebars/Java/libraries/okhttp4-gson/api.mustache b/src/main/resources/handlebars/Java/libraries/okhttp4-gson/api.mustache index b5100c3e82..f27de1498b 100644 --- a/src/main/resources/handlebars/Java/libraries/okhttp4-gson/api.mustache +++ b/src/main/resources/handlebars/Java/libraries/okhttp4-gson/api.mustache @@ -114,7 +114,7 @@ public class {{classname}} { {{localVariablePrefix}}localVarHeaderParams.put("Content-Type", {{localVariablePrefix}}localVarContentType); if(progressListener != null) { - {{localVariablePrefix}}apiClient.getHttpClient().networkInterceptors().add(new okhttp3.Interceptor() { + okhttp3.Interceptor interceptor = new okhttp3.Interceptor() { @Override public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException { okhttp3.Response originalResponse = chain.proceed(chain.request()); @@ -122,7 +122,9 @@ public class {{classname}} { .body(new ProgressResponseBody(originalResponse.body(), progressListener)) .build(); } - }); + }; + okhttp3.OkHttpClient newClient = {{localVariablePrefix}}apiClient.getHttpClient().newBuilder().addNetworkInterceptor(interceptor).build(); + {{localVariablePrefix}}apiClient.setHttpClient(newClient); } String[] {{localVariablePrefix}}localVarAuthNames = new String[] { {{#authMethods}}"{{name}}"{{#hasMore}}, {{/hasMore}}{{/authMethods}} };