diff --git a/src/base-apis.js b/src/base-apis.js index 35ef0938c..b38f6dfbd 100644 --- a/src/base-apis.js +++ b/src/base-apis.js @@ -54,6 +54,8 @@ const utils = require("./utils"); * to all requests with this client. Useful for application services which require * ?user_id=. * + * @param {boolean} [opts.useAuthorizationHeader = false] Set to true to use + * Authorization header instead of query param to send the access token to the server. */ function MatrixBaseApis(opts) { utils.checkObjectHasKeys(opts, ["baseUrl", "request"]); @@ -70,6 +72,7 @@ function MatrixBaseApis(opts) { onlyData: true, extraParams: opts.queryParams, localTimeoutMs: opts.localTimeoutMs, + useAuthorizationHeader: opts.useAuthorizationHeader, }; this._http = new httpApi.MatrixHttpApi(this, httpOpts); diff --git a/src/client.js b/src/client.js index 7beb8c00f..85e6fa08f 100644 --- a/src/client.js +++ b/src/client.js @@ -99,6 +99,9 @@ try { * @param {Number=} opts.localTimeoutMs Optional. The default maximum amount of * time to wait before timing out HTTP requests. If not specified, there is no timeout. * + * @param {boolean} [opts.useAuthorizationHeader = false] Set to true to use + * Authorization header instead of query param to send the access token to the server. + * * @param {boolean} [opts.timelineSupport = false] Set to true to enable * improved timeline support ({@link * module:client~MatrixClient#getEventTimeline getEventTimeline}). It is diff --git a/src/http-api.js b/src/http-api.js index c7d1a79c1..443c63a08 100644 --- a/src/http-api.js +++ b/src/http-api.js @@ -64,7 +64,7 @@ module.exports.PREFIX_MEDIA_R0 = "/_matrix/media/r0"; * @param {string} opts.prefix Required. The matrix client prefix to use, e.g. * '/_matrix/client/r0'. See PREFIX_R0 and PREFIX_UNSTABLE for constants. * - * @param {bool=} opts.onlyData True to return only the 'data' component of the + * @param {boolean} opts.onlyData True to return only the 'data' component of the * response (e.g. the parsed HTTP body). If false, requests will return an * object with the properties code, headers and data. * @@ -74,18 +74,15 @@ module.exports.PREFIX_MEDIA_R0 = "/_matrix/media/r0"; * requests. * @param {Number=} opts.localTimeoutMs The default maximum amount of time to wait * before timing out the request. If not specified, there is no timeout. - * @param {bool=} opts.useAuthorizationHeader True to use Authorization header instead of - * query param to send the access token to the server. Defaults to false + * @param {boolean} [opts.useAuthorizationHeader = false] Set to true to use + * Authorization header instead of query param to send the access token to the server. */ module.exports.MatrixHttpApi = function MatrixHttpApi(event_emitter, opts) { utils.checkObjectHasKeys(opts, ["baseUrl", "request", "prefix"]); opts.onlyData = opts.onlyData || false; this.event_emitter = event_emitter; this.opts = opts; - this.useAuthorizationHeader = false; - if (opts.useAuthorizationHeader) { - this.useAuthorizationHeader = Boolean(opts.useAuthorizationHeader); - } + this.useAuthorizationHeader = Boolean(opts.useAuthorizationHeader); this.uploads = []; }; @@ -370,7 +367,8 @@ module.exports.MatrixHttpApi.prototype = { * * @param {Object} data The HTTP JSON body. * - * @param {Object=} opts additional options + * @param {Object|Number=} opts additional options. If a number is specified, + * this is treated as `opts.localTimeoutMs`. * * @param {Number=} opts.localTimeoutMs The maximum amount of time to wait before * timing out the request. If not specified, there is no timeout.