Add support for specifying Matrix homeserver URL (#1065)

This commit is contained in:
Tulir Asokan 2020-10-16 00:01:07 +03:00 committed by GitHub
parent a76cdda4d3
commit ea328e56cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 3 deletions

View file

@ -15,5 +15,11 @@ export class MatrixApi implements ICredentialType {
type: 'string' as NodePropertyTypes,
default: '',
},
{
displayName: 'Homeserver URL',
name: 'homeserverUrl',
type: 'string' as NodePropertyTypes,
default: 'https://matrix-client.matrix.org',
},
];
}

View file

@ -36,9 +36,7 @@ export async function matrixApiRequest(this: IExecuteFunctions | IExecuteSingleF
},
body,
qs: query,
// Override URL when working with media only. All other endpoints use client.
//@ts-ignore
uri: option.hasOwnProperty('overridePrefix') ? `https://matrix.org/_matrix/${option.overridePrefix}/r0${resource}` : `https://matrix.org/_matrix/client/r0${resource}`,
uri: '',
json: true,
};
options = Object.assign({}, options, option);
@ -56,6 +54,8 @@ export async function matrixApiRequest(this: IExecuteFunctions | IExecuteSingleF
if (credentials === undefined) {
throw new Error('No credentials got returned!');
}
//@ts-ignore
options.uri = `${credentials.homeserverUrl}/_matrix/${option.overridePrefix || 'client'}/r0${resource}`;
options.headers!.Authorization = `Bearer ${credentials.accessToken}`;
//@ts-ignore
response = await this.helpers.request(options);