From a98f16f1aaa72aa68278420a61d8ce897639416f Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Wed, 11 Oct 2023 15:52:28 +0200 Subject: Added options to skip inviting already invited/joined/left users, added option to join room if it already exists when trying to create --- LibMatrix/Extensions/HttpClientExtensions.cs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'LibMatrix/Extensions') diff --git a/LibMatrix/Extensions/HttpClientExtensions.cs b/LibMatrix/Extensions/HttpClientExtensions.cs index 6f1eab6..2faf0d5 100644 --- a/LibMatrix/Extensions/HttpClientExtensions.cs +++ b/LibMatrix/Extensions/HttpClientExtensions.cs @@ -98,4 +98,13 @@ public class MatrixHttpClient : HttpClient { Encoding.UTF8, "application/json"); return await SendAsync(request, cancellationToken); } + + public async Task PostAsJsonAsync([StringSyntax(StringSyntaxAttribute.Uri)] string? requestUri, T value, JsonSerializerOptions? options = null, + CancellationToken cancellationToken = default) { + var request = new HttpRequestMessage(HttpMethod.Post, requestUri); + request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + request.Content = new StringContent(JsonSerializer.Serialize(value, value.GetType(), options ?? new() { DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull }), + Encoding.UTF8, "application/json"); + return await SendAsync(request, cancellationToken); + } } -- cgit 1.4.1