diff options
Diffstat (limited to 'license-generator/src/bin')
-rw-r--r-- | license-generator/src/bin/license-generator.rs | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/license-generator/src/bin/license-generator.rs b/license-generator/src/bin/license-generator.rs index d99af57..e19ac85 100644 --- a/license-generator/src/bin/license-generator.rs +++ b/license-generator/src/bin/license-generator.rs @@ -4,11 +4,14 @@ extern crate fastcgi; extern crate log; extern crate mysql; extern crate simplelog; +extern crate url; extern crate license_generator; use std::io::{Read, Write}; +use url::Url; + use license_generator::database; use license_generator::errors::*; use license_generator::logger; @@ -79,9 +82,39 @@ fn main() -> Result<()> { Ok(_) => { // TODO: Print message to be appended to user email - write!(&mut req.stdout(), "Content-Type: text/plain + let secret = match purchaser.secret { + Some(s) => s, + None => return response::error_500( + &mut req.stdout(), + Some("Empty secret".into()) + ), + }; + + let license_download_url = match Url::parse_with_params( + "https://domekey.teddywing.com/license", + &[ + ("name", purchaser.name), + ("email", purchaser.email), + ("secret", &secret), + ], + ) { + Ok(u) => u, + Err(e) => return response::error_500( + &mut req.stdout(), + Some(e.into()) + ), + }; + + write!( + &mut req.stdout(), + "Content-Type: text/plain + +Thanks so much for purchasing DomeKey! -200 OK") +Download your license here: +{url}", + url = license_download_url, + ) .unwrap_or(()); return; |