mirror of
https://github.com/silkimen/cordova-plugin-advanced-http.git
synced 2026-04-24 00:00:03 +08:00
fix: broken handling for empty strings
This commit is contained in:
+16
-14
@@ -292,29 +292,31 @@ module.exports = function init(global, jsUtil, cookieHandler, messages, base64,
|
||||
return success(response);
|
||||
}
|
||||
|
||||
if (!response.data) {
|
||||
// return null as data if response data is not set
|
||||
response.data = null;
|
||||
return success(response);
|
||||
}
|
||||
|
||||
try {
|
||||
// json
|
||||
if (responseType === validResponseTypes[1]) {
|
||||
response.data = JSON.parse(response.data);
|
||||
response.data = response.data === ''
|
||||
? undefined
|
||||
: JSON.parse(response.data);
|
||||
}
|
||||
|
||||
// arraybuffer
|
||||
else if (responseType === validResponseTypes[2]) {
|
||||
response.data = base64.toArrayBuffer(response.data);
|
||||
response.data = response.data === ''
|
||||
? null
|
||||
: base64.toArrayBuffer(response.data);
|
||||
}
|
||||
|
||||
// blob
|
||||
else if (responseType === validResponseTypes[3]) {
|
||||
var buffer = base64.toArrayBuffer(response.data);
|
||||
var type = response.headers['content-type'] || '';
|
||||
var blob = new Blob([ buffer ], { type: type });
|
||||
response.data = blob;
|
||||
if (response.data === '') {
|
||||
response.data = null;
|
||||
} else {
|
||||
var buffer = base64.toArrayBuffer(response.data);
|
||||
var type = response.headers['content-type'] || '';
|
||||
var blob = new Blob([buffer], { type: type });
|
||||
response.data = blob;
|
||||
}
|
||||
}
|
||||
|
||||
success(response);
|
||||
@@ -390,7 +392,7 @@ module.exports = function init(global, jsUtil, cookieHandler, messages, base64,
|
||||
if (allowedInstanceTypes) {
|
||||
var isCorrectInstanceType = false;
|
||||
|
||||
allowedInstanceTypes.forEach(function(type) {
|
||||
allowedInstanceTypes.forEach(function (type) {
|
||||
if ((global[type] && data instanceof global[type]) || (ponyfills[type] && data instanceof ponyfills[type])) {
|
||||
isCorrectInstanceType = true;
|
||||
}
|
||||
@@ -446,7 +448,7 @@ module.exports = function init(global, jsUtil, cookieHandler, messages, base64,
|
||||
if (entry.value[1] instanceof global.Blob || entry.value[1] instanceof global.File) {
|
||||
var reader = new global.FileReader();
|
||||
|
||||
reader.onload = function() {
|
||||
reader.onload = function () {
|
||||
result.buffers.push(base64.fromArrayBuffer(reader.result));
|
||||
result.names.push(entry.value[0]);
|
||||
result.fileNames.push(entry.value[1].name || 'blob');
|
||||
|
||||
Reference in New Issue
Block a user