diff options
Diffstat (limited to '')
-rw-r--r-- | src/script.rs | 12 |
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()))); |