pub struct GetEverythingRequest { /* private fields */ }
Implementations§
Source§impl GetEverythingRequest
impl GetEverythingRequest
pub fn get_search_term(&self) -> &String
pub fn get_search_in(&self) -> &Vec<SearchInOption>
pub fn get_sources(&self) -> &Option<String>
pub fn get_domains(&self) -> &Option<String>
pub fn get_exclude_domains(&self) -> &Option<String>
pub fn get_start_date(&self) -> &Option<DateTime<Utc>>
pub fn get_end_date(&self) -> &Option<DateTime<Utc>>
pub fn get_language(&self) -> &Option<Language>
pub fn get_sort_by(&self) -> &Option<String>
pub fn get_page_size(&self) -> &i32
pub fn get_page(&self) -> &i32
Source§impl GetEverythingRequest
impl GetEverythingRequest
Sourcepub fn builder() -> GetEverythingRequestBuilder
pub fn builder() -> GetEverythingRequestBuilder
Examples found in repository?
examples/everything_search.rs (line 60)
53async fn main() {
54 dotenvy::dotenv().ok();
55
56 // Provide your API key here or set it in the environment variable NEWS_API_KEY
57 // let client = NewsApiClient::new("api_key");
58 let client = NewsApiClient::from_env();
59
60 let everything_request = GetEverythingRequest::builder()
61 .search_term(String::from("Nvidia+NVDA+stock"))
62 .language(Language::EN)
63 .start_date(Utc::now() - chrono::Duration::days(30))
64 .end_date(Utc::now())
65 .page_size(1)
66 .build();
67
68 match client.get_everything(&everything_request).await {
69 Ok(response) => {
70 println!("Total Results: {}", response.get_total_results());
71 println!("Articles retrieved: {}", response.get_articles().len());
72
73 for (i, article) in response.get_articles().iter().enumerate() {
74 println!("Article #{}: {}", i + 1, article.get_title());
75 println!(" Source: {}", article.get_source().get_name());
76 println!(" Published: {}", article.get_published_at());
77 println!(" URL: {}", article.get_url());
78 println!();
79 }
80 }
81 Err(err) => {
82 eprintln!(
83 "Error: {}",
84 match err {
85 ApiClientError::InvalidResponse(response) => response.message.clone(),
86 _ => err.to_string(),
87 }
88 );
89 }
90 }
91}
More examples
examples/async_everything_search.rs (line 14)
6async fn main() {
7 dotenvy::dotenv().ok();
8
9 println!("Example 1: Using the builder pattern");
10 let builder_client = NewsApiClient::builder()
11 .build()
12 .expect("Failed to build NewsApiClient");
13
14 let request1 = GetEverythingRequest::builder()
15 .search_term(String::from("Nvidia+NVDA+stock"))
16 .language(Language::EN)
17 .page_size(1)
18 .build();
19
20 match builder_client.get_everything(&request1).await {
21 Ok(response) => {
22 println!(
23 "Builder client - Total Results: {}",
24 response.get_total_results()
25 );
26 println!("Articles retrieved: {}", response.get_articles().len());
27 if let Some(article) = response.get_articles().first() {
28 println!("First article: {}", article.get_title());
29 }
30 }
31 Err(err) => {
32 eprintln!("Builder client error: {}", err);
33 }
34 }
35
36 println!("\nExample 2: Using from_env");
37 let env_client = NewsApiClient::from_env();
38
39 let request2 = GetEverythingRequest::builder()
40 .search_term(String::from("Bitcoin+crypto"))
41 .language(Language::EN)
42 .page_size(1)
43 .build();
44
45 match env_client.get_everything(&request2).await {
46 Ok(response) => {
47 println!(
48 "Env client - Total Results: {}",
49 response.get_total_results()
50 );
51 println!("Articles retrieved: {}", response.get_articles().len());
52 if let Some(article) = response.get_articles().first() {
53 println!("First article: {}", article.get_title());
54 }
55 }
56 Err(err) => {
57 eprintln!("Env client error: {}", err);
58 }
59 }
60}
Trait Implementations§
Source§impl Clone for GetEverythingRequest
impl Clone for GetEverythingRequest
Source§fn clone(&self) -> GetEverythingRequest
fn clone(&self) -> GetEverythingRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for GetEverythingRequest
impl Debug for GetEverythingRequest
Source§impl<'de> Deserialize<'de> for GetEverythingRequest
impl<'de> Deserialize<'de> for GetEverythingRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for GetEverythingRequest
impl Serialize for GetEverythingRequest
Source§impl Validate for GetEverythingRequest
impl Validate for GetEverythingRequest
Source§impl<'v_a> ValidateArgs<'v_a> for GetEverythingRequest
impl<'v_a> ValidateArgs<'v_a> for GetEverythingRequest
Auto Trait Implementations§
impl Freeze for GetEverythingRequest
impl RefUnwindSafe for GetEverythingRequest
impl Send for GetEverythingRequest
impl Sync for GetEverythingRequest
impl Unpin for GetEverythingRequest
impl UnwindSafe for GetEverythingRequest
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