summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-03-09 16:48:13 -0800
committerTobrun <tobrun.van.nuland@gmail.com>2016-03-10 10:38:00 -0500
commitbbfd2c3d5accc03deb70a8203eccebdec88670bc (patch)
treeeffa28cb2c9a10c97371bf9945c53158baab0fc8
parent1a4b8f3e2f76fd55abccf09b6a07bc1035aa89a8 (diff)
downloadqtlocation-mapboxgl-bbfd2c3d5accc03deb70a8203eccebdec88670bc.tar.gz
[android] Route exceptions in HTTPRequest constructor to onFailure
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java27
1 files changed, 18 insertions, 9 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java
index 7be1c1a0f4..9cffc3c89c 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/http/HTTPRequest.java
@@ -43,15 +43,20 @@ class HTTPRequest implements Callback {
private HTTPRequest(long nativePtr, String resourceUrl, String userAgent, String etag, String modified) {
mNativePtr = nativePtr;
- Request.Builder builder = new Request.Builder().url(resourceUrl).tag(resourceUrl.toLowerCase(MapboxConstants.MAPBOX_LOCALE)).addHeader("User-Agent", userAgent);
- if (etag.length() > 0) {
- builder = builder.addHeader("If-None-Match", etag);
- } else if (modified.length() > 0) {
- builder = builder.addHeader("If-Modified-Since", modified);
+
+ try {
+ Request.Builder builder = new Request.Builder().url(resourceUrl).tag(resourceUrl.toLowerCase(MapboxConstants.MAPBOX_LOCALE)).addHeader("User-Agent", userAgent);
+ if (etag.length() > 0) {
+ builder = builder.addHeader("If-None-Match", etag);
+ } else if (modified.length() > 0) {
+ builder = builder.addHeader("If-Modified-Since", modified);
+ }
+ mRequest = builder.build();
+ mCall = mClient.newCall(mRequest);
+ mCall.enqueue(this);
+ } catch (Exception e) {
+ onFailure(e);
}
- mRequest = builder.build();
- mCall = mClient.newCall(mRequest);
- mCall.enqueue(this);
}
public void cancel() {
@@ -83,7 +88,7 @@ class HTTPRequest implements Callback {
try {
body = response.body().bytes();
} catch (IOException e) {
- onFailure(null, e);
+ onFailure(e);
//throw e;
return;
} finally {
@@ -99,6 +104,10 @@ class HTTPRequest implements Callback {
@Override
public void onFailure(Call call, IOException e) {
+ onFailure(e);
+ }
+
+ private void onFailure(Exception e) {
Log.w(LOG_TAG, String.format("[HTTP] Request could not be executed: %s", e.getMessage()));
int type = PERMANENT_ERROR;