diff --git a/examples/claims.rs b/examples/claims.rs index 28efba5..92a56e0 100644 --- a/examples/claims.rs +++ b/examples/claims.rs @@ -1,11 +1,8 @@ extern crate jsonwebtoken as jwt; extern crate rustc_serialize; -use jwt::{ - Algorithm, - encode, - decode -}; +use jwt::{encode, decode, Algorithm}; +use jwt::errors::{Error}; #[derive(Debug, RustcEncodable, RustcDecodable)] struct Claims { @@ -19,6 +16,16 @@ fn main() { company: "ACME".to_owned() }; let key = "secret"; - let token = encode::(my_claims, key.to_owned(), Algorithm::HS256).unwrap(); - let claims = decode::(token.to_owned(), key.to_owned(), Algorithm::HS256).unwrap(); + let token = match encode::(my_claims, key.to_owned(), Algorithm::HS256) { + Ok(t) => t, + Err(_) => panic!() // in practice you would return the error + }; + + let claims = match decode::(token.to_owned(), key.to_owned(), Algorithm::HS256) { + Ok(c) => c, + Err(err) => match err { + Error::InvalidToken => panic!(), // Example on how to handle a specific error + _ => panic!() + } + }; }