From fb229e14257045d8d63c11eadcc7d24f25bccb06 Mon Sep 17 00:00:00 2001 From: Vincent Prouillet Date: Tue, 3 Nov 2015 16:00:52 +0000 Subject: [PATCH] Better example --- examples/claims.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) 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!() + } + }; }