1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-11-23 17:02:25 +03:00

Clean up JSON handling in identity server requests

This commit is contained in:
Travis Ralston
2019-08-22 08:32:20 -06:00
parent 60b7252597
commit 8b9bef5cb3
2 changed files with 6 additions and 17 deletions

View File

@@ -405,18 +405,14 @@ module.exports.MatrixHttpApi.prototype = {
uri: fullUri,
method: method,
withCredentials: false,
json: false,
json: true, // we want a JSON response if we can
_matrix_opts: this.opts,
headers: {},
};
if (method == 'GET') {
if (method === 'GET') {
opts.qs = params;
} else if (typeof params === "object") {
opts.json = params;
} else if (typeof params === "string") {
// Assume the caller has serialised the body to JSON
opts.body = params;
opts.headers['Content-Type'] = "application/json";
}
if (accessToken) {
opts.headers['Authorization'] = `Bearer ${accessToken}`;
@@ -427,12 +423,7 @@ module.exports.MatrixHttpApi.prototype = {
opts,
requestCallback(defer, callback, this.opts.onlyData),
);
// ID server does not always take JSON, so we can't use requests' 'json'
// option as we do with the home server, but it does return JSON, so
// parse it manually
return defer.promise.then(function(response) {
return typeof(response) === 'string' ? JSON.parse(response) : response;
});
return defer.promise;
},
/**