about summary refs log tree commit diff
path: root/LibMatrix/Interfaces/IHomeServer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'LibMatrix/Interfaces/IHomeServer.cs')
-rw-r--r--LibMatrix/Interfaces/IHomeServer.cs29
1 files changed, 0 insertions, 29 deletions
diff --git a/LibMatrix/Interfaces/IHomeServer.cs b/LibMatrix/Interfaces/IHomeServer.cs
deleted file mode 100644
index 5e7e374..0000000
--- a/LibMatrix/Interfaces/IHomeServer.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Net.Http.Json;
-using LibMatrix.Extensions;
-using LibMatrix.StateEventTypes.Spec;
-
-namespace LibMatrix.Interfaces;
-
-public class IHomeServer {
-    private readonly Dictionary<string, object> _profileCache = new();
-    public string HomeServerDomain { get; set; }
-    public string FullHomeServerDomain { get; set; }
-
-    public MatrixHttpClient _httpClient { get; set; } = new();
-
-    public async Task<ProfileResponseEventData> GetProfile(string mxid) {
-        if(mxid is null) throw new ArgumentNullException(nameof(mxid));
-        if (_profileCache.ContainsKey(mxid)) {
-            if (_profileCache[mxid] is SemaphoreSlim s) await s.WaitAsync();
-            if (_profileCache[mxid] is ProfileResponseEventData p) return p;
-        }
-        _profileCache[mxid] = new SemaphoreSlim(1);
-
-        var resp = await _httpClient.GetAsync($"/_matrix/client/v3/profile/{mxid}");
-        var data = await resp.Content.ReadFromJsonAsync<ProfileResponseEventData>();
-        if (!resp.IsSuccessStatusCode) Console.WriteLine("Profile: " + data);
-        _profileCache[mxid] = data;
-
-        return data;
-    }
-}