From cbc39512ddde8a2b9415c988cc037e84e15ee55f Mon Sep 17 00:00:00 2001 From: JF-23 <41588769+JF-23@users.noreply.github.com> Date: Sat, 17 Jul 2021 18:18:59 -0500 Subject: [PATCH] feat: Return headers on successful response (#265) * parsing headers into map writeabl map to be able to return it on succesful responses along with params value * updated documentation Co-authored-by: admin --- README.md | 1 + .../com/vydia/RNUploader/GlobalRequestObserverDelegate.kt | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c2cf558..2c67d775 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ Event Data |`id`|string|Required|The ID of the upload.| |`responseCode`|string|Required|HTTP status code received| |`responseBody`|string|Required|HTTP response body| +|`responseHeaders`|string|Required|HTTP response headers (Android)| ### cancelled diff --git a/android/src/main/java/com/vydia/RNUploader/GlobalRequestObserverDelegate.kt b/android/src/main/java/com/vydia/RNUploader/GlobalRequestObserverDelegate.kt index ef84c49e..c89d495a 100644 --- a/android/src/main/java/com/vydia/RNUploader/GlobalRequestObserverDelegate.kt +++ b/android/src/main/java/com/vydia/RNUploader/GlobalRequestObserverDelegate.kt @@ -22,7 +22,6 @@ class GlobalRequestObserverDelegate(reactContext: ReactApplicationContext) : Req } override fun onError(context: Context, uploadInfo: UploadInfo, exception: Throwable) { - val params = Arguments.createMap() params.putString("id", uploadInfo.uploadId) @@ -45,10 +44,15 @@ class GlobalRequestObserverDelegate(reactContext: ReactApplicationContext) : Req } override fun onSuccess(context: Context, uploadInfo: UploadInfo, serverResponse: ServerResponse) { + val headers = Arguments.createMap() + for ((key, value) in serverResponse.headers) { + headers.putString(key, value) + } val params = Arguments.createMap() params.putString("id", uploadInfo.uploadId) params.putInt("responseCode", serverResponse.code) params.putString("responseBody", serverResponse.bodyString) + params.putMap("responseHeaders", headers) sendEvent("completed", params, context) }