From 94b83d4de5e435796da9cc14667c1023a09df8eb Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Wed, 27 Dec 2023 19:45:22 +0100 Subject: Cleanup --- LibMatrix/Services/HomeserverProviderService.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'LibMatrix/Services') diff --git a/LibMatrix/Services/HomeserverProviderService.cs b/LibMatrix/Services/HomeserverProviderService.cs index 983f469..dc4acb1 100644 --- a/LibMatrix/Services/HomeserverProviderService.cs +++ b/LibMatrix/Services/HomeserverProviderService.cs @@ -13,8 +13,8 @@ public class HomeserverProviderService(ILogger logger private static readonly Dictionary RemoteHomeserverSemaphore = new(); private static readonly Dictionary RemoteHomeserverCache = new(); - public async Task GetAuthenticatedWithToken(string homeserver, string accessToken, string? proxy = null) { - var cacheKey = homeserver + accessToken + proxy; + public async Task GetAuthenticatedWithToken(string homeserver, string accessToken, string? proxy = null, string? impersonatedMxid = null) { + var cacheKey = homeserver + accessToken + proxy + impersonatedMxid; var sem = AuthenticatedHomeserverSemaphore.GetOrCreate(cacheKey, _ => new SemaphoreSlim(1, 1)); await sem.WaitAsync(); AuthenticatedHomeserverGeneric? hs; @@ -43,6 +43,9 @@ public class HomeserverProviderService(ILogger logger hs = await AuthenticatedHomeserverGeneric.Create(homeserver, accessToken, proxy); } + if(impersonatedMxid is not null) + await hs.SetImpersonate(impersonatedMxid); + lock (AuthenticatedHomeserverCache) AuthenticatedHomeserverCache[cacheKey] = hs; sem.Release(); -- cgit 1.4.1