clean code

This commit is contained in:
ssrlive 2023-03-24 15:57:54 +08:00
parent 1d1e50c36a
commit 0fd5d85155

View file

@ -62,19 +62,16 @@ impl HttpConnection {
} }
fn state_change(&mut self) -> Result<(), Error> { fn state_change(&mut self) -> Result<(), Error> {
let http_len = "HTTP/1.1 200".len();
match self.state { match self.state {
HttpState::ExpectStatusCode if self.server_inbuf.len() >= "HTTP/1.1 200 ".len() => { HttpState::ExpectStatusCode if self.server_inbuf.len() > http_len => {
let status_line: Vec<u8> = self let status_line: Vec<u8> =
.server_inbuf self.server_inbuf.range(0..http_len + 1).copied().collect();
.range(0.."HTTP/1.1 200 ".len())
.copied()
.collect();
let slice = &status_line.as_slice()[0.."HTTP/1.1 2".len()]; let slice = &status_line.as_slice()[0.."HTTP/1.1 2".len()];
if slice != b"HTTP/1.1 2" && slice != b"HTTP/1.0 2" if slice != b"HTTP/1.1 2" && slice != b"HTTP/1.0 2"
|| self.server_inbuf["HTTP/1.1 200 ".len() - 1] != b' ' || self.server_inbuf[http_len] != b' '
{ {
let status_str = let status_str = String::from_utf8_lossy(&status_line.as_slice()[0..http_len]);
String::from_utf8_lossy(&status_line.as_slice()[0.."HTTP/1.1 200".len()]);
let e = let e =
format!("Expected success status code. Server replied with {status_str}."); format!("Expected success status code. Server replied with {status_str}.");
return Err(e.into()); return Err(e.into());