aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--license-generator/src/lib.rs2
-rw-r--r--license-generator/src/main.rs54
-rw-r--r--license-generator/src/response.rs12
3 files changed, 25 insertions, 43 deletions
diff --git a/license-generator/src/lib.rs b/license-generator/src/lib.rs
index f83dbbf..3e8ae4b 100644
--- a/license-generator/src/lib.rs
+++ b/license-generator/src/lib.rs
@@ -1,5 +1,7 @@
#[macro_use]
extern crate error_chain;
+
+#[macro_use]
extern crate log;
extern crate mysql;
extern crate paddle;
diff --git a/license-generator/src/main.rs b/license-generator/src/main.rs
index 8e60d51..f2beb26 100644
--- a/license-generator/src/main.rs
+++ b/license-generator/src/main.rs
@@ -87,13 +87,7 @@ fn main() -> Result<()> {
}
},
None => {
- response::set_500(&mut req.stdout()).unwrap_or(());
- write!(&mut req.stdout(), "Content-Type: text/plain
-
-500 Internal Server Error")
- .unwrap_or(());
-
- return;
+ return response::error_500(&mut req.stdout(), None);
},
};
@@ -101,15 +95,7 @@ fn main() -> Result<()> {
let is_verified = match request::verified(&ps) {
Ok(v) => v,
Err(e) => {
- error!("{}", e);
-
- response::set_500(&mut req.stdout()).unwrap_or(());
- write!(&mut req.stdout(), "Content-Type: text/plain
-
-500 Internal Server Error")
- .unwrap_or(());
-
- return;
+ return response::error_500(&mut req.stdout(), Some(e));
},
};
@@ -123,15 +109,10 @@ fn main() -> Result<()> {
let mut cx = match pool.get_conn() {
Ok(cx) => cx,
Err(e) => {
- error!("{}", e);
-
- response::set_500(&mut req.stdout()).unwrap_or(());
- write!(&mut req.stdout(), "Content-Type: text/plain
-
-500 Internal Server Error")
- .unwrap_or(());
-
- return;
+ return response::error_500(
+ &mut req.stdout(),
+ Some(e.into())
+ );
},
};
@@ -147,28 +128,15 @@ fn main() -> Result<()> {
return;
},
Err(e) => {
- error!("{}", e);
-
- response::set_500(&mut req.stdout()).unwrap_or(());
- write!(&mut req.stdout(), "Content-Type: text/plain
-
-500 Internal Server Error")
- .unwrap_or(());
-
- return;
+ return response::error_500(&mut req.stdout(), Some(e));
},
}
}
- error!("Purchaser name or email not set");
-
- response::set_500(&mut req.stdout()).unwrap_or(());
- write!(&mut req.stdout(), "Content-Type: text/plain
-
-500 Internal Server Error")
- .unwrap_or(());
-
- return;
+ return response::error_500(
+ &mut req.stdout(),
+ Some("Purchaser name or email not set".into())
+ );
}
response::set_403(&mut req.stdout()).unwrap_or(());
diff --git a/license-generator/src/response.rs b/license-generator/src/response.rs
index 701bf1a..aec2d22 100644
--- a/license-generator/src/response.rs
+++ b/license-generator/src/response.rs
@@ -19,3 +19,15 @@ Allow: {}",
pub fn set_500<W: Write>(w: &mut W) -> Result<()> {
Ok(writeln!(w, "Status: 500")?)
}
+
+pub fn error_500<W: Write>(w: &mut W, error: Option<Error>) {
+ if let Some(error) = error {
+ error!("{}", error);
+ }
+
+ set_500(w).unwrap_or(());
+ write!(w, "Content-Type: text/plain
+
+500 Internal Server Error")
+ .unwrap_or(());
+}