summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java')
-rw-r--r--platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java57
1 files changed, 57 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java b/platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java
new file mode 100644
index 0000000000..072a45b0de
--- /dev/null
+++ b/platform/android/MapboxGLAndroidModuleBase/src/main/java/com/mapbox/mapboxsdk/http/HttpRequest.java
@@ -0,0 +1,57 @@
+package com.mapbox.mapboxsdk.http;
+
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.support.annotation.NonNull;
+import com.mapbox.mapboxsdk.utils.ApplicationContextWrapper;
+
+public abstract class HttpRequest {
+
+ static final int CONNECTION_ERROR = 0;
+ static final int TEMPORARY_ERROR = 1;
+ static final int PERMANENT_ERROR = 2;
+
+ public abstract void executeRequest(HttpRequestResponder httpRequest, long nativePtr, String resourceUrl,
+ String etag, String modified);
+
+ public abstract void cancelRequest();
+
+ //
+ // Utility methods
+ //
+
+ static String getApplicationIdentifier() {
+ ApplicationContextWrapper contextWrapper = ApplicationContextWrapper.getInstance(null);
+ Context context = contextWrapper.getBaseContext();
+ if(context == null){
+ throw new RuntimeException("Mapbox.java not correctly initialized");
+ }
+ return getApplicationIdentifier(context);
+ }
+
+ private static String getApplicationIdentifier(@NonNull Context context){
+ try {
+ PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
+ return String.format("%s/%s (%s)", context.getPackageName(), packageInfo.versionName, packageInfo.versionCode);
+ } catch (Exception exception) {
+ return "";
+ }
+ }
+
+ String buildResourceUrl(String host, String resourceUrl, int querySize) {
+ if (isValidMapboxEndpoint(host)) {
+ if (querySize == 0) {
+ resourceUrl = resourceUrl + "?";
+ } else {
+ resourceUrl = resourceUrl + "&";
+ }
+ resourceUrl = resourceUrl + "events=true";
+ }
+ return resourceUrl;
+ }
+
+ private boolean isValidMapboxEndpoint(String host) {
+ return host.equals("mapbox.com") || host.endsWith(".mapbox.com") || host.equals("mapbox.cn")
+ || host.endsWith(".mapbox.cn");
+ }
+}