}
fn api_request(&self, req: Req) ->
- Result<(String, reqwest::blocking::RequestBuilder), ClientError>
+ Result<(String, reqwest::blocking::Response), ClientError>
{
- self.api_request_cl(&self.client, req)
+ let (url, req) = self.api_request_cl(&self.client, req)?;
+ let rsp = req.send()?;
+ Ok((url, rsp))
}
pub fn instance(&mut self) -> Result<Instance, ClientError> {
return Ok(inst.clone());
}
- let (url, req) = self.api_request(Req::get("v2/instance"))?;
- let rsp = req.send()?;
+ let (url, rsp) = self.api_request(Req::get("v2/instance"))?;
let rspstatus = rsp.status();
let inst: Instance = if !rspstatus.is_success() {
Err(ClientError::UrlError(url.clone(), rspstatus.to_string()))
return Ok(st.clone());
}
- let (url, req) = self.api_request(Req::get(
+ let (url, rsp) = self.api_request(Req::get(
&("v1/accounts/".to_owned() + id)))?;
- let rsp = req.send()?;
let rspstatus = rsp.status();
let ac: Account = if !rspstatus.is_success() {
Err(ClientError::UrlError(url.clone(), rspstatus.to_string()))
pub fn account_relationship_by_id(&mut self, id: &str) ->
Result<Relationship, ClientError>
{
- let (url, req) = self.api_request(
+ let (url, rsp) = self.api_request(
Req::get("v1/accounts/relationships").param("id", id))?;
- let rsp = req.send()?;
let rspstatus = rsp.status();
let rels: Vec<Relationship> = if !rspstatus.is_success() {
Err(ClientError::UrlError(url.clone(), rspstatus.to_string()))
return Ok(st);
}
- let (url, req) = self.api_request(Req::get(
+ let (url, rsp) = self.api_request(Req::get(
&("v1/statuses/".to_owned() + id)))?;
- let rsp = req.send()?;
let rspstatus = rsp.status();
let st: Status = if !rspstatus.is_success() {
Err(ClientError::UrlError(url.clone(), rspstatus.to_string()))
return Ok(not);
}
- let (url, req) = self.api_request(Req::get(
+ let (url, rsp) = self.api_request(Req::get(
&("v1/notifications/".to_owned() + id)))?;
- let rsp = req.send()?;
let rspstatus = rsp.status();
let not: Notification = if !rspstatus.is_success() {
Err(ClientError::UrlError(url.clone(), rspstatus.to_string()))
} else { req },
};
- let (url, req) = self.api_request(req)?;
- let rsp = req.send()?;
+ let (url, rsp) = self.api_request(req)?;
let rspstatus = rsp.status();
if !rspstatus.is_success() {
return Err(ClientError::UrlError(
pub fn account_by_name(&mut self, name: &str) ->
Result<Account, ClientError>
{
- let (url, req) = self.api_request(
+ let (url, rsp) = self.api_request(
Req::get("v1/accounts/lookup").param("acct", name))?;
- let rsp = req.send()?;
let rspstatus = rsp.status();
let ac: Account = if !rspstatus.is_success() {
Err(ClientError::UrlError(url.clone(), rspstatus.to_string()))
.param("in_reply_to_id", id),
};
- let (url, req) = self.api_request(req)?;
- let rsp = req.send()?;
+ let (url, rsp) = self.api_request(req)?;
let rspstatus = rsp.status();
if !rspstatus.is_success() {
Err(ClientError::UrlError(url.clone(), rspstatus.to_string()))
pub fn fave_boost_post(&mut self, id: &str, verb: &str)
-> Result<(), ClientError>
{
- let (url, req) = self.api_request(Req::post(
+ let (url, rsp) = self.api_request(Req::post(
&format!("v1/statuses/{id}/{verb}")))?;
- let rsp = req.send()?;
let rspstatus = rsp.status();
// Cache the returned status so as to update its faved/boosted flags
let st: Status = if !rspstatus.is_success() {
pub fn status_context(&mut self, id: &str) -> Result<Context, ClientError>
{
- let (url, req) = self.api_request(Req::get(
+ let (url, rsp) = self.api_request(Req::get(
&format!("v1/statuses/{id}/context")))?;
- let rsp = req.send()?;
let rspstatus = rsp.status();
let ctx: Context = if !rspstatus.is_success() {
Err(ClientError::UrlError(url.clone(), rspstatus.to_string()))