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());
         }
 
         /**