1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update fetch requests

This commit is contained in:
Luke Pulverenti 2015-12-06 14:46:18 -05:00
parent 5f6d68e3b5
commit 7c3fa06651
10 changed files with 74 additions and 39 deletions

View file

@ -95,23 +95,52 @@
method: request.type
};
var contentType = request.contentType;
if (request.data) {
if (typeof request.data === 'string') {
fetchRequest.body = request.data;
} else {
fetchRequest.body = paramsToString(request.data);
contentType = contentType || 'application/x-www-form-urlencoded; charset=UTF-8';
}
}
if (request.contentType) {
if (contentType) {
headers['Content-Type'] = request.contentType;
headers['Content-Type'] = contentType;
}
return fetch(request.url, fetchRequest);
}
function paramsToString(params) {
var values = [];
for (var key in params) {
var value = params[key];
if (value !== null && value !== undefined && value !== '') {
values.push(encodeURIComponent(key) + "=" + encodeURIComponent(value));
}
}
return values.join('&');
}
function ajax(request) {
if (!request) {
throw new Error("Request cannot be null");
}
request.headers = request.headers || {};
logger.log('Requesting url without automatic networking: ' + request.url);
return getFetchPromise(request).then(function (response) {
if (response.status < 400) {
@ -122,12 +151,10 @@
return response;
}
} else {
onFetchFail(request.url, response);
return Promise.reject(response);
}
}, function () {
onFetchFail(request.url, {});
return Promise.reject({});
});
}
@ -1227,17 +1254,22 @@
"X-CONNECT-TOKEN": "CONNECT-REGISTER"
}
}).then(resolve, function (e) {
}).then(resolve, function (response) {
try {
return response.json();
var result = JSON.parse(e.responseText);
reject({ errorCode: result.Status });
} catch (err) {
reject({});
reject();
}
});
}).then(function (result) {
if (result && result.Status) {
reject({ errorCode: result.Status });
}
}, reject);
});
});
};