diff options
Diffstat (limited to 'meetup')
| -rw-r--r-- | meetup/src/client.rs | 7 | ||||
| -rw-r--r-- | meetup/src/errors.rs | 6 | ||||
| -rw-r--r-- | meetup/src/lib.rs | 3 | 
3 files changed, 12 insertions, 4 deletions
| diff --git a/meetup/src/client.rs b/meetup/src/client.rs index 6f98a1f..5e8e636 100644 --- a/meetup/src/client.rs +++ b/meetup/src/client.rs @@ -1,8 +1,7 @@  use reqwest;  use serde_json; -use std::error::Error; - +use errors::*;  use event::Event;  const MEETUP_BASE_URL: &'static str = "https://api.meetup.com"; @@ -23,7 +22,7 @@ impl Client {          end_date_range: String,          radius: Option<String>,          page: Option<String>, -    ) -> Result<Vec<Event>, Box<Error>> { +    ) -> Result<Vec<Event>> {          let mut params = vec![              ("key", self.token.clone()),              ("lat", latitude), @@ -52,7 +51,7 @@ impl Client {  } -fn parse_json(json: String) -> Result<Vec<Event>, serde_json::Error> { +fn parse_json(json: String) -> Result<Vec<Event>> {      let parsed: serde_json::Value = serde_json::from_str(json.as_ref())?;      let events: Vec<Event> = serde_json::from_value(parsed["events"].clone())?; diff --git a/meetup/src/errors.rs b/meetup/src/errors.rs new file mode 100644 index 0000000..b826cf9 --- /dev/null +++ b/meetup/src/errors.rs @@ -0,0 +1,6 @@ +error_chain! { +    foreign_links { +        Reqwest(::reqwest::Error); +        SerdeJson(::serde_json::Error); +    } +} diff --git a/meetup/src/lib.rs b/meetup/src/lib.rs index 10c0ed2..ba62ff2 100644 --- a/meetup/src/lib.rs +++ b/meetup/src/lib.rs @@ -1,3 +1,5 @@ +#[macro_use] +extern crate error_chain;  extern crate reqwest;  extern crate serde; @@ -6,4 +8,5 @@ extern crate serde_derive;  extern crate serde_json;  pub mod client; +pub mod errors;  pub mod event; | 
