diff options
Diffstat (limited to 'license-generator')
| -rw-r--r-- | license-generator/src/bin/license.rs | 35 | ||||
| -rw-r--r-- | license-generator/src/errors.rs | 2 | ||||
| -rw-r--r-- | license-generator/src/lib.rs | 2 | 
3 files changed, 35 insertions, 4 deletions
| diff --git a/license-generator/src/bin/license.rs b/license-generator/src/bin/license.rs index aac7ef5..502f98e 100644 --- a/license-generator/src/bin/license.rs +++ b/license-generator/src/bin/license.rs @@ -136,17 +136,44 @@ fn main() -> Result<()> {                          let email = email.unwrap().to_string();                          let secret = secret.unwrap().to_string(); -                        let purchaser = query_purchaser(&mut cx, &name, &email, &secret).unwrap(); -                        if purchaser.is_some() { +                        let purchaser = match query_purchaser(&mut cx, &name, &email, &secret) { +                            Ok(p) => p, +                            Err(e) => return response::error_500( +                                &mut req.stdout(), +                                Some(e.into()) +                            ), +                        }; + +                        if let Some(purchaser) = purchaser { +                            match purchaser { +                                Ok(p) => p, +                                Err(e) => return response::error_500( +                                    &mut req.stdout(), +                                    Some(e.into()) +                                ), +                            }; +                              let license_data = LicenseData {                                  name: &name,                                  email: &email,                              }; -                            let license = aquatic_prime.plist(license_data).unwrap(); +                            let license = match aquatic_prime.plist(license_data) { +                                Ok(p) => p, +                                Err(e) => return response::error_500( +                                    &mut req.stdout(), +                                    Some(e.into()) +                                ), +                            };                              let mut zip_data = Cursor::new(vec![]); -                            zip::license(&mut zip_data, license.as_bytes()).unwrap(); +                            match zip::license(&mut zip_data, license.as_bytes()) { +                                Ok(p) => p, +                                Err(e) => return response::error_500( +                                    &mut req.stdout(), +                                    Some(e.into()) +                                ), +                            }                              write!(&mut req.stdout(), "Content-Type: application/zip  Content-Disposition: attachment; filename=\"dome-key-license.zip\"\n\n") diff --git a/license-generator/src/errors.rs b/license-generator/src/errors.rs index 352f959..2d1182b 100644 --- a/license-generator/src/errors.rs +++ b/license-generator/src/errors.rs @@ -1,3 +1,4 @@ +use aquatic_prime;  use log;  use mysql;  use paddle; @@ -13,6 +14,7 @@ error_chain! {          MySql(mysql::error::Error);          Zip(zip_lib::result::ZipError); +        AquaticPrime(aquatic_prime::errors::Error);          Paddle(paddle::errors::Error);      }  } diff --git a/license-generator/src/lib.rs b/license-generator/src/lib.rs index 56e2f67..eae9df0 100644 --- a/license-generator/src/lib.rs +++ b/license-generator/src/lib.rs @@ -1,3 +1,5 @@ +extern crate aquatic_prime; +  #[macro_use]  extern crate error_chain;  extern crate fastcgi; | 
