OSDN Git Service

GraphQL関連のリクエストにPostJsonRequestクラスを使用する
[opentween/open-tween.git] / OpenTween / Api / GraphQL / DeleteTweetRequest.cs
index b40cd84..db3b28c 100644 (file)
 #nullable enable
 
 using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
 using System.Threading.Tasks;
 using OpenTween.Connection;
 using OpenTween.Models;
@@ -36,7 +32,7 @@ namespace OpenTween.Api.GraphQL
     {
         private static readonly Uri EndpointUri = new("https://twitter.com/i/api/graphql/VaenaVgh5q5ih7kvyVjgtg/DeleteTweet");
 
-        required public TwitterStatusId TweetId { get; set; }
+        public required TwitterStatusId TweetId { get; set; }
 
         public string CreateRequestBody()
         {
@@ -47,8 +43,19 @@ namespace OpenTween.Api.GraphQL
 
         public async Task Send(IApiConnection apiConnection)
         {
-            var json = this.CreateRequestBody();
-            await apiConnection.PostJsonAsync(EndpointUri, json);
+            var request = new PostJsonRequest
+            {
+                RequestUri = EndpointUri,
+                JsonString = this.CreateRequestBody(),
+            };
+
+            using var response = await apiConnection.SendAsync(request)
+                .ConfigureAwait(false);
+
+            var rootElm = await response.ReadAsJsonXml()
+                .ConfigureAwait(false);
+
+            ErrorResponse.ThrowIfError(rootElm);
         }
     }
 }