From 667d586160b1262923bd81f6d0fb9793577a3281 Mon Sep 17 00:00:00 2001 From: perillamint Date: Thu, 5 Jan 2023 00:53:00 +0900 Subject: [PATCH] Send dummy JSON when trying Misskey API endpoint From Misskey 13, Misskey expects valid JSON (does not care its content though) in POST body. To workaround this, send empty JSON object when requesting Misskey API endpoint --- src/requests.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/requests.rs b/src/requests.rs index f5ecc86..304d0a6 100644 --- a/src/requests.rs +++ b/src/requests.rs @@ -305,7 +305,7 @@ impl Requests { true => client.post(url), false => client.get(url), }; - let res = client_req + let client_signed = client_req .insert_header(("Accept", accept)) .insert_header(Date(SystemTime::now().into())) .signature( @@ -316,9 +316,15 @@ impl Requests { span.in_scope(|| signer.sign(signing_string)) }, ) - .await? - .send() - .await; + .await?; + let res = match use_post { + true => { + let dummy = serde_json::json!({}); + client_signed.send_json(&dummy) + } + false => client_signed.send(), + } + .await; let mut res = self.check_response(&parsed_url, res).await?;