aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2018-11-14 02:44:19 +0100
committerTeddy Wing2018-11-14 02:44:19 +0100
commitfbd90fbd1b677bf0f5f952628e995a8c7bbd1571 (patch)
treeb00ad1685ef811450a824d9cef35cafc5fb6a602
parentd41bfce40cedd84445908975a4a090f3fda2e9c6 (diff)
downloaddome-key-web-fbd90fbd1b677bf0f5f952628e995a8c7bbd1571.tar.bz2
license: Add thank-you page at `/license`
-rw-r--r--license-generator/src/bin/license.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/license-generator/src/bin/license.rs b/license-generator/src/bin/license.rs
index f35407b..c68d299 100644
--- a/license-generator/src/bin/license.rs
+++ b/license-generator/src/bin/license.rs
@@ -39,7 +39,7 @@ struct LicenseData<'a> {
}
trait LicenseValidationResponse {
- fn success(&mut self, name: &str, email: &str);
+ fn success(&mut self, name: &str, email: &str, secret: &str);
fn error_400(&mut self);
fn error_404(&mut self);
fn error_500(&mut self, error: Option<Error>);
@@ -51,7 +51,18 @@ struct HtmlResponse<'a, W: 'a> {
impl<'a, W> LicenseValidationResponse for HtmlResponse<'a, W>
where W: 'a + Write {
- fn success(&mut self, name: &str, email: &str) {
+ fn success(&mut self, name: &str, email: &str, secret: &str) {
+ write!(
+ self.writer,
+ "Status: 200
+Content-Type: text/html\n\n{}",
+ format!(
+ include_str!("../../../thank-you.html"),
+ name = name,
+ email = email,
+ secret = secret,
+ )
+ ).unwrap_or(())
}
fn error_400(&mut self) {
@@ -80,7 +91,7 @@ struct ZipResponse<'a, W: 'a> {
impl<'a, W> LicenseValidationResponse for ZipResponse<'a, W>
where W: 'a + Write {
- fn success(&mut self, name: &str, email: &str) {
+ fn success(&mut self, name: &str, email: &str, _secret: &str) {
let license_data = LicenseData {
name: &name,
email: &email,
@@ -171,7 +182,7 @@ fn build_response<'a, R: LicenseValidationResponse>(
Err(e) => return responses.error_500(Some(e.into())),
};
- return responses.success(&name, &email);
+ return responses.success(&name, &email, &secret);
} else {
return responses.error_404();
}