You've already forked matrix-js-sdk
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:
@@ -1783,8 +1783,7 @@ MatrixBaseApis.prototype.requestEmailToken = async function(
|
|||||||
try {
|
try {
|
||||||
const response = await this._http.idServerRequest(
|
const response = await this._http.idServerRequest(
|
||||||
undefined, "POST", "/validate/email/requestToken",
|
undefined, "POST", "/validate/email/requestToken",
|
||||||
JSON.stringify(params), httpApi.PREFIX_IDENTITY_V2,
|
params, httpApi.PREFIX_IDENTITY_V2, identityAccessToken,
|
||||||
identityAccessToken,
|
|
||||||
);
|
);
|
||||||
// TODO: Fold callback into above call once v1 path below is removed
|
// TODO: Fold callback into above call once v1 path below is removed
|
||||||
if (callback) callback(null, response);
|
if (callback) callback(null, response);
|
||||||
@@ -1839,8 +1838,7 @@ MatrixBaseApis.prototype.submitMsisdnToken = async function(
|
|||||||
try {
|
try {
|
||||||
return await this._http.idServerRequest(
|
return await this._http.idServerRequest(
|
||||||
undefined, "POST", "/validate/msisdn/submitToken",
|
undefined, "POST", "/validate/msisdn/submitToken",
|
||||||
JSON.stringify(params), httpApi.PREFIX_IDENTITY_V2,
|
params, httpApi.PREFIX_IDENTITY_V2, identityAccessToken,
|
||||||
identityAccessToken,
|
|
||||||
);
|
);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (err.cors === "rejected" || err.httpStatus === 404) {
|
if (err.cors === "rejected" || err.httpStatus === 404) {
|
||||||
@@ -2064,7 +2062,7 @@ MatrixBaseApis.prototype.bulkLookupThreePids = async function(
|
|||||||
};
|
};
|
||||||
logger.warn("IS doesn't support v2, falling back to deprecated v1");
|
logger.warn("IS doesn't support v2, falling back to deprecated v1");
|
||||||
return await this._http.idServerRequest(
|
return await this._http.idServerRequest(
|
||||||
undefined, "POST", "/bulk_lookup", JSON.stringify(params),
|
undefined, "POST", "/bulk_lookup", params,
|
||||||
httpApi.PREFIX_IDENTITY_V1, identityAccessToken,
|
httpApi.PREFIX_IDENTITY_V1, identityAccessToken,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -405,18 +405,14 @@ module.exports.MatrixHttpApi.prototype = {
|
|||||||
uri: fullUri,
|
uri: fullUri,
|
||||||
method: method,
|
method: method,
|
||||||
withCredentials: false,
|
withCredentials: false,
|
||||||
json: false,
|
json: true, // we want a JSON response if we can
|
||||||
_matrix_opts: this.opts,
|
_matrix_opts: this.opts,
|
||||||
headers: {},
|
headers: {},
|
||||||
};
|
};
|
||||||
if (method == 'GET') {
|
if (method === 'GET') {
|
||||||
opts.qs = params;
|
opts.qs = params;
|
||||||
} else if (typeof params === "object") {
|
} else if (typeof params === "object") {
|
||||||
opts.json = params;
|
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) {
|
if (accessToken) {
|
||||||
opts.headers['Authorization'] = `Bearer ${accessToken}`;
|
opts.headers['Authorization'] = `Bearer ${accessToken}`;
|
||||||
@@ -427,12 +423,7 @@ module.exports.MatrixHttpApi.prototype = {
|
|||||||
opts,
|
opts,
|
||||||
requestCallback(defer, callback, this.opts.onlyData),
|
requestCallback(defer, callback, this.opts.onlyData),
|
||||||
);
|
);
|
||||||
// ID server does not always take JSON, so we can't use requests' 'json'
|
return defer.promise;
|
||||||
// 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;
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user