You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by al...@apache.org on 2021/03/14 14:06:04 UTC
[fineract] 04/05: make FineractClient expose the OkHttp client
This is an automated email from the ASF dual-hosted git repository.
aleks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
commit aaaae3acc025b0280c4fa53b4e1ba1ce295f251f
Author: Michael Vorburger <mi...@vorburger.ch>
AuthorDate: Sat Mar 13 16:13:57 2021 +0100
make FineractClient expose the OkHttp client
---
.../apache/fineract/client/util/FineractClient.java | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java b/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
index e6a4a64..3aff2d2 100644
--- a/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
+++ b/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
@@ -28,6 +28,7 @@ import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
+import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.logging.HttpLoggingInterceptor.Level;
@@ -157,6 +158,7 @@ public final class FineractClient {
// Matching org.apache.fineract.client.util.JSON.LocalDateTypeAdapter.formatter
public static final String DATE_FORMAT = "yyyy-MM-dd";
+ private final OkHttpClient okHttpClient;
private final Retrofit retrofit;
public final AccountingClosureApi glClosures;
@@ -264,7 +266,8 @@ public final class FineractClient {
public final UsersApi users;
public final WorkingDaysApi workingDays;
- private FineractClient(Retrofit retrofit) {
+ private FineractClient(OkHttpClient okHttpClient, Retrofit retrofit) {
+ this.okHttpClient = okHttpClient;
this.retrofit = retrofit;
glClosures = retrofit.create(AccountingClosureApi.class);
@@ -377,6 +380,14 @@ public final class FineractClient {
return new Builder();
}
+ public OkHttpClient okHttpClient() {
+ return this.okHttpClient;
+ }
+
+ public HttpUrl baseURL() {
+ return this.retrofit.baseUrl();
+ }
+
/**
* Create an implementation of the API endpoints defined by the {@code service} interface, using
* {@link Retrofit#create(Class)}. This method is typically not required to be invoked for standard API usage, but
@@ -480,9 +491,10 @@ public final class FineractClient {
basicAuth.setCredentials(has("username", username), has("password", password));
okBuilder.addInterceptor(basicAuth);
- retrofitBuilder.client(okBuilder.build());
+ OkHttpClient okHttpClient = okBuilder.build();
+ retrofitBuilder.client(okHttpClient);
- return new FineractClient(retrofitBuilder.build());
+ return new FineractClient(okHttpClient, retrofitBuilder.build());
}
/**