summaryrefslogtreecommitdiff
path: root/src/script.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/script.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/script.rs b/src/script.rs
index 4a94ba4..064bc67 100644
--- a/src/script.rs
+++ b/src/script.rs
@@ -37,13 +37,21 @@ impl Script {
Err(err) => return Err(format!("{err}"))
};
- let status = output.status.code().unwrap_or(500) as u16;
-
let response = String::from_utf8_lossy(&output.stdout).into_owned();
let mut lines = response.split('\n').into_iter();
res.headers.serialize(&mut lines);
+ let status = match res.headers.get("Status") {
+ Some(header) => {
+ match header.value.parse::<u16>() {
+ Ok(status) => status,
+ Err(err) => return Err(format!("{err}"))
+ }
+ },
+ None => 200
+ };
+
let body: String = lines.collect::<Vec<&str>>().join("\n");
res.headers.put(Header::new("Content-Length", &format!("{}", body.len())));