mastodon_api\methods/
timelines.rs1use crate::MastodonClient;
2use crate::error::Result;
3use crate::models::Status;
4
5pub struct TimelinesHandler<'a> {
7 client: &'a MastodonClient,
8}
9
10impl<'a> TimelinesHandler<'a> {
11 pub fn new(client: &'a MastodonClient) -> Self {
12 Self { client }
13 }
14
15 pub async fn public(&self) -> Result<Vec<Status>> {
19 let url = format!("{}/api/v1/timelines/public", self.client.base_url());
20 let req = self.client.http_client().get(&url);
21 self.client.send(req).await
22 }
23
24 pub async fn public_paged(&self) -> Result<crate::paging::PagedRequest<'_, Status>> {
28 let url = format!("{}/api/v1/timelines/public", self.client.base_url());
29 Ok(crate::paging::PagedRequest::new(self.client, url))
30 }
31
32 pub async fn home(&self) -> Result<Vec<Status>> {
36 let url = format!("{}/api/v1/timelines/home", self.client.base_url());
37 let req = self.client.http_client().get(&url);
38 self.client.send(req).await
39 }
40}