return error on post when non success status code is received

This commit is contained in:
Denis-Cosmin NUTIU 2024-12-30 19:02:17 +02:00
parent 10f339ca83
commit 1d4a776b8f

View file

@ -2,6 +2,8 @@ pub(crate) mod atproto;
mod token; mod token;
use crate::bluesky::atproto::ATProtoServerCreateSession; use crate::bluesky::atproto::ATProtoServerCreateSession;
use anyhow::anyhow;
use log::warn;
use reqwest::Body; use reqwest::Body;
use token::Token; use token::Token;
@ -42,16 +44,22 @@ impl BlueSkyClient {
if token_expired { if token_expired {
self.renew_token().await?; self.renew_token().await?;
} }
self.client let response_code = self
.client
.post("https://bsky.social/xrpc/com.atproto.repo.createRecord") .post("https://bsky.social/xrpc/com.atproto.repo.createRecord")
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.header( .header(
"Authorization", "Authorization",
format!("Bearer, {}", self.auth_token.access_jwt), format!("Bearer {}", self.auth_token.access_jwt),
) )
.body(body) .body(body)
.send() .send()
.await?; .await?
.status();
if response_code != 200 {
return Err(anyhow!("Failed to post on BlueSky, got {response_code}"));
}
Ok(()) Ok(())
} }
@ -62,7 +70,7 @@ impl BlueSkyClient {
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.header( .header(
"Authorization", "Authorization",
format!("Bearer, {}", self.auth_token.refresh_jwt), format!("Bearer {}", self.auth_token.refresh_jwt),
) )
.send() .send()
.await? .await?