From eb9884911914b3b1d373cadf561a3e6e6ec8c767 Mon Sep 17 00:00:00 2001 From: Edward Akerboom Date: Tue, 8 May 2018 14:48:25 +0200 Subject: [PATCH 1/2] Add support for 'headers' option --- .../filetransfer/FileTransferModule.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/burlap/filetransfer/FileTransferModule.java b/android/src/main/java/com/burlap/filetransfer/FileTransferModule.java index e0eb5d4..6a9d823 100644 --- a/android/src/main/java/com/burlap/filetransfer/FileTransferModule.java +++ b/android/src/main/java/com/burlap/filetransfer/FileTransferModule.java @@ -33,6 +33,7 @@ import okhttp3.MediaType; import okhttp3.MultipartBody; +import okhttp3.Request.Builder; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; @@ -139,8 +140,22 @@ public void onRequestProgress(long bytesWritten, long contentLength) { } }); - Request request = new Request.Builder() - .header("Accept", "application/json") + Builder builder = new Request.Builder(); + if (options.hasKey("headers")) { + ReadableMap data = options.getMap("headers"); + ReadableMapKeySetIterator iterator = data.keySetIterator(); + + while(iterator.hasNextKey()) { + String key = iterator.nextKey(); + if(ReadableType.String.equals(data.getType(key))) { + builder.addHeader(key, data.getString(key)); + } + } + } else { + builder.addHeader("Accept", "application/json"); + } + + Request request = builder .url(url) .post(monitoredRequest) .build(); From 947485c195e30636a8d6c8d1c8a22fb31f42bed8 Mon Sep 17 00:00:00 2001 From: Edward Akerboom Date: Tue, 8 May 2018 14:49:39 +0200 Subject: [PATCH 2/2] Add support for 'headers' option --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6824cb4..7cb2a16 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ doUpload(){ |---|---|---|---|---| |`url`|string|required|URL to upload to|`http://my.server/api/upload`| |`method(only iOS)`|string|optional|HTTP method, values: [PUT,POST], default: POST|`POST`| -|`headers(only iOS)`|object|optional|HTTP headers|`{ 'Accept': 'application/json' }`| +|`headers`|object|optional|HTTP headers|`{ 'Accept': 'application/json' }`| |`params(iOS)`|object|optional|Query parameters|`{ 'user_id': 1 }`| |`params(Android)`|object|optional|Query parameters|`{ 'user_id': '1' }`
only support string value. You can't use int, boolean, etc..| |`files`|array|required|Array of file objects to upload. See below.| `[{ name: 'file', filename: 'image1.png', filepath: 'assets-library://...', filetype: 'image/png' } ]` |