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:
parent
5f6d68e3b5
commit
7c3fa06651
10 changed files with 74 additions and 39 deletions
|
@ -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);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue