aboutsummaryrefslogtreecommitdiffstats
path: root/license-generator/src/bin
diff options
context:
space:
mode:
Diffstat (limited to 'license-generator/src/bin')
-rw-r--r--license-generator/src/bin/license-generator.rs37
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;