diff options
Diffstat (limited to 'license-generator/src')
-rw-r--r-- | license-generator/src/bin/license.rs | 19 |
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(); } |