pub struct GuardianClient { /* private fields */ }Expand description
Client for The Guardian API
Implementations§
Source§impl GuardianClient
impl GuardianClient
Sourcepub fn new(api_key: Option<String>) -> Result<Self>
pub fn new(api_key: Option<String>) -> Result<Self>
Create a new Guardian client
§Arguments
api_key- Guardian API key (get from https://open-platform.theguardian.com/)
Free tier: 12 calls/sec, 5000/day
Sourcepub async fn get_article(&self, id: &str) -> Result<DataRecord>
pub async fn get_article(&self, id: &str) -> Result<DataRecord>
Sourcepub async fn get_sections(&self) -> Result<Vec<DataRecord>>
pub async fn get_sections(&self) -> Result<Vec<DataRecord>>
Get all sections
Sourcepub async fn search_by_tag(
&self,
tag: &str,
limit: usize,
) -> Result<Vec<DataRecord>>
pub async fn search_by_tag( &self, tag: &str, limit: usize, ) -> Result<Vec<DataRecord>>
Trait Implementations§
Source§impl DataSource for GuardianClient
impl DataSource for GuardianClient
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 GuardianClient
impl !RefUnwindSafe for GuardianClient
impl Send for GuardianClient
impl Sync for GuardianClient
impl Unpin for GuardianClient
impl !UnwindSafe for GuardianClient
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