nws_rs/
lib.rs

1
2use reqwest::blocking::Client;
3use reqwest::header;
4use http::header::ACCEPT;
5
6mod alerts;
7mod glossary;
8
9#[derive(Debug)]
10pub struct NwsClient {
11    host: String,
12    //reqwest Client.
13    client: Client
14}
15
16impl NwsClient {
17    #[allow(dead_code)]
18    fn new(user_agent: Option<String>) -> NwsClient {
19        let mut headers = header::HeaderMap::new();
20        headers.insert(ACCEPT, "application/geo+json".parse().unwrap());
21
22        let default_user_agent = match user_agent {
23            Some(u) => u,
24            None => String::from("nws-rust-implementation"),
25        };
26        let client: Client = reqwest::blocking::Client::builder()
27            .user_agent(&default_user_agent)
28            .default_headers(headers)
29            .build().unwrap();
30        NwsClient{ host: String::from("https://api.weather.gov"), client }
31    }
32}
33
34
35
36