pub struct GetEverythingResponse { /* private fields */ }
Implementations§
Source§impl GetEverythingResponse
impl GetEverythingResponse
pub fn get_status(&self) -> &String
Sourcepub fn get_total_results(&self) -> &i32
pub fn get_total_results(&self) -> &i32
Examples found in repository?
examples/everything_search.rs (line 70)
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 24)
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}
Sourcepub fn get_articles(&self) -> &Vec<Article>
pub fn get_articles(&self) -> &Vec<Article>
Examples found in repository?
examples/everything_search.rs (line 71)
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 26)
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 Debug for GetEverythingResponse
impl Debug for GetEverythingResponse
Source§impl<'de> Deserialize<'de> for GetEverythingResponse
impl<'de> Deserialize<'de> for GetEverythingResponse
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
Auto Trait Implementations§
impl Freeze for GetEverythingResponse
impl RefUnwindSafe for GetEverythingResponse
impl Send for GetEverythingResponse
impl Sync for GetEverythingResponse
impl Unpin for GetEverythingResponse
impl UnwindSafe for GetEverythingResponse
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