From 063fb6f12aea3a5b71c05beea22e7f6482c2f1cf Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Thu, 19 Oct 2023 07:21:41 +0200 Subject: Refactor, fix stuff --- MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor | 79 ++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor (limited to 'MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor') diff --git a/MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor b/MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor new file mode 100644 index 0000000..f7e6aec --- /dev/null +++ b/MatrixRoomUtils.Web/Pages/Dev/DevUtilities.razor @@ -0,0 +1,79 @@ +@page "/Dev/Utilities" +@using System.Reflection +@using ArcaneLibs.Extensions +@using LibMatrix.Extensions +@using LibMatrix.Homeservers +@inject ILocalStorageService LocalStorage +@inject NavigationManager NavigationManager +

Debug Tools

+
+@if (Rooms.Count == 0) { +

You are not in any rooms!

+ @*

Loading progress: @checkedRoomCount/@totalRoomCount

*@ +} +else { +
+ Room List + @foreach (var room in Rooms) { + + + + } +
+} + +
+ Send GET request to URL +
+ + +
+
+
@get_request_result
+
+ +
+ + +@code { + public List Rooms { get; set; } = new(); + + protected override async Task OnInitializedAsync() { + await base.OnInitializedAsync(); + var hs = await MRUStorage.GetCurrentSessionOrNavigate(); + if (hs == null) return; + Rooms = (await hs.GetJoinedRooms()).Select(x => x.RoomId).ToList(); + Console.WriteLine("Fetched joined rooms!"); + } + + //send req + string get_request_url { get; set; } = ""; + string get_request_result { get; set; } = ""; + + private async Task SendGetRequest() { + var field = typeof(RemoteHomeServer).GetRuntimeFields().First(x => x.ToString().Contains("<_httpClient>k__BackingField")); + var hs = await MRUStorage.GetCurrentSessionOrNavigate(); + if (hs == null) return; + var httpClient = field.GetValue(hs) as MatrixHttpClient; + try { + var res = await httpClient.GetAsync(get_request_url); + if (res.IsSuccessStatusCode) { + if (res.Content.Headers.ContentType.MediaType == "application/json") + get_request_result = (await res.Content.ReadFromJsonAsync()).ToJson(); + else + get_request_result = await res.Content.ReadAsStringAsync(); + StateHasChanged(); + return; + } + if (res.Content.Headers.ContentType.MediaType == "application/json") + get_request_result = $"Error: {res.StatusCode}\n" + (await res.Content.ReadFromJsonAsync()).ToJson(); + else + get_request_result = $"Error: {res.StatusCode}\n" + await res.Content.ReadAsStringAsync(); + } + catch (Exception e) { + get_request_result = $"Error: {e}"; + } + StateHasChanged(); + } + +} -- cgit 1.4.1