pub struct GetEverythingRequestBuilder { /* private fields */ }
Implementations§
Source§impl GetEverythingRequestBuilder
impl GetEverythingRequestBuilder
pub fn new() -> Self
Sourcepub fn search_term(self, search_term: String) -> Self
pub fn search_term(self, search_term: String) -> Self
Examples found in repository?
examples/everything_search.rs (line 61)
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 15)
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}
pub fn search_in(self, search_in: Vec<SearchInOption>) -> Self
pub fn sources(self, sources: String) -> Self
pub fn domains(self, domains: String) -> Self
pub fn exclude_domains(self, exclude_domains: String) -> Self
Sourcepub fn start_date(self, start_date: DateTime<Utc>) -> Self
pub fn start_date(self, start_date: DateTime<Utc>) -> Self
Examples found in repository?
examples/everything_search.rs (line 63)
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}
Sourcepub fn end_date(self, end_date: DateTime<Utc>) -> Self
pub fn end_date(self, end_date: DateTime<Utc>) -> Self
Examples found in repository?
examples/everything_search.rs (line 64)
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}
Sourcepub fn language(self, language: Language) -> Self
pub fn language(self, language: Language) -> Self
Examples found in repository?
examples/everything_search.rs (line 62)
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 16)
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}
pub fn sort_by(self, sort_by: ArticleSortBy) -> Self
Sourcepub fn page_size(self, page_size: i32) -> Self
pub fn page_size(self, page_size: i32) -> Self
Examples found in repository?
examples/everything_search.rs (line 65)
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 17)
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}
pub fn page(self, page: i32) -> Self
Sourcepub fn build(self) -> GetEverythingRequest
pub fn build(self) -> GetEverythingRequest
Examples found in repository?
examples/everything_search.rs (line 66)
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 18)
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 Default for GetEverythingRequestBuilder
impl Default for GetEverythingRequestBuilder
Source§fn default() -> GetEverythingRequestBuilder
fn default() -> GetEverythingRequestBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for GetEverythingRequestBuilder
impl RefUnwindSafe for GetEverythingRequestBuilder
impl Send for GetEverythingRequestBuilder
impl Sync for GetEverythingRequestBuilder
impl Unpin for GetEverythingRequestBuilder
impl UnwindSafe for GetEverythingRequestBuilder
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