From 79d39ba7eb85d4210cd565d368cb725d209619e6 Mon Sep 17 00:00:00 2001 From: Sean Thompson Date: Thu, 4 Aug 2022 11:37:17 -0500 Subject: [PATCH 1/4] Update definitions for DownloadFileResult with headers object. --- src/definitions.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/definitions.ts b/src/definitions.ts index 649cc088..7f430dda 100644 --- a/src/definitions.ts +++ b/src/definitions.ts @@ -170,6 +170,7 @@ export interface HttpGetCookiesResult { export interface HttpDownloadFileResult { path?: string; blob?: Blob; + headers?: HttpHeaders; } export interface HttpUploadFileResult extends HttpResponse {} From 0e42d9e548b35875d4dfceace6febb1191222e03 Mon Sep 17 00:00:00 2001 From: Sean Thompson Date: Thu, 4 Aug 2022 11:37:34 -0500 Subject: [PATCH 2/4] Update java downloadFile function to return headers. --- .../java/com/getcapacitor/plugin/http/HttpRequestHandler.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/src/main/java/com/getcapacitor/plugin/http/HttpRequestHandler.java b/android/src/main/java/com/getcapacitor/plugin/http/HttpRequestHandler.java index 215beb51..f75566a2 100644 --- a/android/src/main/java/com/getcapacitor/plugin/http/HttpRequestHandler.java +++ b/android/src/main/java/com/getcapacitor/plugin/http/HttpRequestHandler.java @@ -463,6 +463,7 @@ public static JSObject downloadFile(PluginCall call, Context context, ProgressEm return new JSObject() { { put("path", file.getAbsolutePath()); + put("headers", buildResponseHeaders((CapacitorHttpUrlConnection) connection)); } }; } From c5da28d85e8900ce3630dc8c31e1c6352a1c00ac Mon Sep 17 00:00:00 2001 From: Sean Thompson Date: Thu, 4 Aug 2022 11:40:25 -0500 Subject: [PATCH 3/4] Add headers to ios response --- ios/Plugin/HttpRequestHandler.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ios/Plugin/HttpRequestHandler.swift b/ios/Plugin/HttpRequestHandler.swift index d3d5f26d..07f905ef 100644 --- a/ios/Plugin/HttpRequestHandler.swift +++ b/ios/Plugin/HttpRequestHandler.swift @@ -296,7 +296,10 @@ class HttpRequestHandler { try FilesystemUtils.createDirectoryForFile(dest, true) try fileManager.moveItem(at: location, to: dest) - call.resolve(["path": dest.absoluteString]) + call.resolve( + ["path": dest.absoluteString], + ["headers": response.allHeaderFields] + ) } catch let e { call.reject("Unable to download file", "DOWNLOAD", e) return From 34be5eae74417093da04cd2dc243eabba5189f0c Mon Sep 17 00:00:00 2001 From: Sean Thompson Date: Thu, 4 Aug 2022 13:40:55 -0500 Subject: [PATCH 4/4] Return headers on iOS --- ios/Plugin/HttpRequestHandler.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ios/Plugin/HttpRequestHandler.swift b/ios/Plugin/HttpRequestHandler.swift index 07f905ef..b14105df 100644 --- a/ios/Plugin/HttpRequestHandler.swift +++ b/ios/Plugin/HttpRequestHandler.swift @@ -296,10 +296,10 @@ class HttpRequestHandler { try FilesystemUtils.createDirectoryForFile(dest, true) try fileManager.moveItem(at: location, to: dest) - call.resolve( - ["path": dest.absoluteString], - ["headers": response.allHeaderFields] - ) + call.resolve([ + "path": dest.absoluteString, + "headers": (response as? HTTPURLResponse)?.allHeaderFields + ]) } catch let e { call.reject("Unable to download file", "DOWNLOAD", e) return