diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2019-02-23 16:28:01 +0100 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2019-02-23 16:28:01 +0100 |
commit | 94a447ef4928ebc8dec5c187ecb5bf1e876dcc34 (patch) | |
tree | e4a4ade7788a1ca1c0d6e31121ada76b4de03682 | |
parent | 85f2f37d779e70811fe6478514b92b76c80a69ce (diff) | |
download | oslobike-94a447ef4928ebc8dec5c187ecb5bf1e876dcc34.tar.gz oslobike-94a447ef4928ebc8dec5c187ecb5bf1e876dcc34.tar.bz2 oslobike-94a447ef4928ebc8dec5c187ecb5bf1e876dcc34.zip |
Move Api to api module.
-rw-r--r-- | src/api.rs | 48 | ||||
-rw-r--r-- | src/lib.rs | 32 |
2 files changed, 50 insertions, 30 deletions
diff --git a/src/api.rs b/src/api.rs new file mode 100644 index 0000000..f67408d --- /dev/null +++ b/src/api.rs @@ -0,0 +1,48 @@ +/* + oslobike - find free bikes in Oslo. + Copyright (C) 2019 Harald Eilertsen <haraldei@anduin.net> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. +*/ + +use reqwest; + +const API_BASE: &'static str = "https://oslobysykkel.no/api/v1"; + +fn url_for(endpoint: &str) -> String { + [API_BASE, endpoint].join("/") +} + +pub struct Api { + client: reqwest::Client, +} + +impl Api { + pub fn new(api_key: String) -> Api { + let mut hdrs = reqwest::header::HeaderMap::new(); + hdrs.insert("client-identifier", reqwest::header::HeaderValue::from_str(&api_key).unwrap()); + + let client = reqwest::Client::builder() + .default_headers(hdrs) + .build().unwrap(); + + Api { client } + } + + pub fn stations(&self) -> String { + self.client.get(&url_for("stations")) + .send().unwrap() + .text().unwrap() + } +} @@ -16,33 +16,5 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -use reqwest; - -const API_BASE: &'static str = "https://oslobysykkel.no/api/v1"; - -fn url_for(endpoint: &str) -> String { - [API_BASE, endpoint].join("/") -} - -pub struct Api { - client: reqwest::Client, -} - -impl Api { - pub fn new(api_key: String) -> Api { - let mut hdrs = reqwest::header::HeaderMap::new(); - hdrs.insert("client-identifier", reqwest::header::HeaderValue::from_str(&api_key).unwrap()); - - let client = reqwest::Client::builder() - .default_headers(hdrs) - .build().unwrap(); - - Api { client } - } - - pub fn stations(&self) -> String { - self.client.get(&url_for("stations")) - .send().unwrap() - .text().unwrap() - } -} +mod api; +pub use api::Api; |