From 714bff1ec2bc4a4d25a25bee18e446ecfbff8bf6 Mon Sep 17 00:00:00 2001 From: Maxime LUCE Date: Wed, 18 Sep 2013 03:33:13 +0200 Subject: [PATCH 1/3] Fix Windows 8 HTMLAnchorElement return host:80 which force Basic Auth Header to replace options Auth Header --- www/windows8/FileTransferProxy.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/www/windows8/FileTransferProxy.js b/www/windows8/FileTransferProxy.js index dd8ff62..cbfcfd7 100644 --- a/www/windows8/FileTransferProxy.js +++ b/www/windows8/FileTransferProxy.js @@ -73,6 +73,7 @@ module.exports = { download:function(win, error, options) { var source = options[0]; var target = options[1]; + var headers = options[4] || {}; if (target === null || typeof target === undefined) { @@ -96,6 +97,13 @@ module.exports = { storageFolder.createFileAsync(fileName, Windows.Storage.CreationCollisionOption.generateUniqueName).then(function (storageFile) { var uri = Windows.Foundation.Uri(source); var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader(); + + if (headers) { + for (var header in headers) { + downloader.setRequestHeader(header, headers[header]); + } + } + download = downloader.createDownload(uri, storageFile); download.startAsync().then(function () { win(new FileEntry(storageFile.name, storageFile.path)); From e80d0788a61d6150487416369ba5aa1bd4a44e7e Mon Sep 17 00:00:00 2001 From: Maxime LUCE Date: Wed, 18 Sep 2013 03:33:58 +0200 Subject: [PATCH 2/3] Fix missing headers in Windows 8 Proxy --- www/FileTransfer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/FileTransfer.js b/www/FileTransfer.js index 6eb9d74..57c9821 100644 --- a/www/FileTransfer.js +++ b/www/FileTransfer.js @@ -42,7 +42,7 @@ function getBasicAuthHeader(urlString) { var credentials = null; var protocol = url.protocol + "//"; - var origin = protocol + url.host; + var origin = protocol + url.host.replace(":" + url.port, ""); // Windows 8 (IE10) append :80 or :443 to url.host // check whether there are the username:password credentials in the url if (url.href.indexOf(origin) !== 0) { // credentials found From 02afbec042f76fab8e6fc23825a913d69aa2b23c Mon Sep 17 00:00:00 2001 From: Maxime LUCE Date: Wed, 18 Sep 2013 03:43:14 +0200 Subject: [PATCH 3/3] Fix missing headers in Windows 8 upload proxy --- www/windows8/FileTransferProxy.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/www/windows8/FileTransferProxy.js b/www/windows8/FileTransferProxy.js index cbfcfd7..036b948 100644 --- a/www/windows8/FileTransferProxy.js +++ b/www/windows8/FileTransferProxy.js @@ -29,6 +29,7 @@ module.exports = { upload:function(successCallback, error, options) { var filePath = options[0]; var server = options[1]; + var headers = options[8] || {}; var win = function (fileUploadResult) { @@ -49,7 +50,7 @@ module.exports = { var blob = MSApp.createBlobFromRandomAccessStream(storageFile.contentType, stream); var formData = new FormData(); formData.append("source\";filename=\"" + storageFile.name + "\"", blob); - WinJS.xhr({ type: "POST", url: server, data: formData }).then(function (response) { + WinJS.xhr({ type: "POST", url: server, data: formData, headers: headers }).then(function (response) { var code = response.status; storageFile.getBasicPropertiesAsync().done(function (basicProperties) {