pub struct RedditClient { /* private fields */ }Expand description
Client for Reddit JSON endpoints
Implementations§
Source§impl RedditClient
impl RedditClient
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Create a new Reddit client
No authentication required for .json endpoints. Be respectful with rate limiting.
Sourcepub async fn get_subreddit_posts(
&self,
subreddit: &str,
sort: &str,
limit: usize,
) -> Result<Vec<DataRecord>>
pub async fn get_subreddit_posts( &self, subreddit: &str, sort: &str, limit: usize, ) -> Result<Vec<DataRecord>>
Get subreddit posts
§Arguments
subreddit- Subreddit name (without r/)sort- Sort method: “hot”, “new”, “top”, “rising”limit- Maximum number of posts (capped at 100)
Sourcepub async fn get_post_comments(&self, post_id: &str) -> Result<Vec<DataRecord>>
pub async fn get_post_comments(&self, post_id: &str) -> Result<Vec<DataRecord>>
Trait Implementations§
Source§impl DataSource for RedditClient
impl DataSource for RedditClient
Source§fn fetch_batch<'life0, 'async_trait>(
&'life0 self,
cursor: Option<String>,
batch_size: usize,
) -> Pin<Box<dyn Future<Output = Result<(Vec<DataRecord>, Option<String>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn fetch_batch<'life0, 'async_trait>(
&'life0 self,
cursor: Option<String>,
batch_size: usize,
) -> Pin<Box<dyn Future<Output = Result<(Vec<DataRecord>, Option<String>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetch a batch of records starting from cursor
Auto Trait Implementations§
impl Freeze for RedditClient
impl !RefUnwindSafe for RedditClient
impl Send for RedditClient
impl Sync for RedditClient
impl Unpin for RedditClient
impl !UnwindSafe for RedditClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more