summaryrefslogtreecommitdiff
path: root/src/script.rs
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-07-02 23:44:48 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-07-02 23:44:48 -0400
commitbdd87a4d54703b8f6e3844afd32ba88926e68d58 (patch)
tree33bc98f3e1822cbb659cd8f31f59f78fad4b9338 /src/script.rs
parentmove body to stdin (diff)
downloadbashttp-bdd87a4d54703b8f6e3844afd32ba88926e68d58.tar.gz
bashttp-bdd87a4d54703b8f6e3844afd32ba88926e68d58.tar.bz2
bashttp-bdd87a4d54703b8f6e3844afd32ba88926e68d58.zip
status header
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())));