From ebe245a3ac5e405a4d9afe079bab8f8bef4d09d8 Mon Sep 17 00:00:00 2001 From: gdeluna-branch Date: Tue, 18 Jun 2024 20:01:48 -0700 Subject: [PATCH] Add response headers to logging --- .../BranchRemoteInterfaceUrlConnection.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Branch-SDK/src/main/java/io/branch/referral/network/BranchRemoteInterfaceUrlConnection.java b/Branch-SDK/src/main/java/io/branch/referral/network/BranchRemoteInterfaceUrlConnection.java index 3a593959a..2c132297c 100644 --- a/Branch-SDK/src/main/java/io/branch/referral/network/BranchRemoteInterfaceUrlConnection.java +++ b/Branch-SDK/src/main/java/io/branch/referral/network/BranchRemoteInterfaceUrlConnection.java @@ -5,7 +5,6 @@ import android.net.TrafficStats; import android.os.NetworkOnMainThreadException; import android.util.Base64; -import android.util.Log; import androidx.annotation.NonNull; @@ -53,6 +52,7 @@ public BranchRemoteInterfaceUrlConnection(@NonNull Branch branch) { private int lastResponseCode = -1; private String lastResponseMessage = ""; + private String lastResponseHeaders = ""; private String lastRequestId = ""; private PrefHelper prefHelper; private int retryLimit; @@ -210,7 +210,9 @@ private BranchResponse doRestfulPost(String url, JSONObject payload, int retryNu int responseCode = connection.getResponseCode(); lastResponseCode = responseCode; lastResponseMessage = connection.getResponseMessage(); // If we have the response code, this will not invoke any more data transfer + lastResponseHeaders = connection.getHeaderFields() != null ? connection.getHeaderFields().toString() : ""; BranchLogger.d("lastResponseMessage " + lastResponseMessage); + BranchLogger.d("lastResponseHeaders " + lastResponseHeaders); if (responseCode >= HttpsURLConnection.HTTP_INTERNAL_ERROR && retryNumber < retryLimit) { try { @@ -226,8 +228,15 @@ private BranchResponse doRestfulPost(String url, JSONObject payload, int retryNu BranchResponse result; try { if (responseCode != HttpsURLConnection.HTTP_OK && connection.getErrorStream() != null) { - BranchLogger.e("Branch Networking Error: " + "\nURL: " + url + "" + "\nResponse Code: " + lastResponseCode + "\nResponse Message: " + lastResponseMessage + "\nRetry number: " + retryNumber + "\nFinal attempt: true" + // no retry on 4XX errors - "\nrequestId: " + lastRequestId + "\nObject: " + this); + BranchLogger.e("Branch Networking Error: " + + "\nURL: " + url + + "\nResponse Code: " + lastResponseCode + + "\nResponse Message: " + lastResponseMessage + + "\nResponse Headers: " + lastResponseHeaders + + "\nRetry number: " + retryNumber + + "\nFinal attempt: true" + // no retry on 4XX errors + "\nrequestId: " + lastRequestId + + "\nObject: " + this); result = new BranchResponse(getResponseString(connection.getErrorStream()), responseCode); } else { @@ -250,6 +259,7 @@ private BranchResponse doRestfulPost(String url, JSONObject payload, int retryNu "\nURL: " + url + "\nResponse Code: " + lastResponseCode + "\nResponse Message: " + lastResponseMessage + + "\nResponse Headers: " + lastResponseHeaders + "\nRetry number: " + retryNumber + "\nrequestId: " + lastRequestId + "\nObject: " + this); @@ -337,6 +347,7 @@ private void resetStats() { lastRequestId = ""; lastResponseCode = -1; lastResponseMessage = ""; + lastResponseHeaders = ""; } private String getResponseString(InputStream inputStream) { @@ -364,6 +375,7 @@ String getNetworkErrorMessage(Exception e, String url, int retry){ "\nURL: " + url + "\nResponse Code: " + lastResponseCode + "\nResponse Message: " + lastResponseMessage + + "\nResponse Headers: " + lastResponseHeaders + "\nCaught exception type: " + e.getClass().getCanonicalName() + "\nRetry number: " + retry + "\nrequestId: " + lastRequestId +