From 0fd5d85155e5a030f8a59cba128e3fc1b57067ea Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Fri, 24 Mar 2023 15:57:54 +0800 Subject: [PATCH] clean code --- src/http.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/http.rs b/src/http.rs index 8f6e6b4..c3e2de4 100644 --- a/src/http.rs +++ b/src/http.rs @@ -62,19 +62,16 @@ impl HttpConnection { } fn state_change(&mut self) -> Result<(), Error> { + let http_len = "HTTP/1.1 200".len(); match self.state { - HttpState::ExpectStatusCode if self.server_inbuf.len() >= "HTTP/1.1 200 ".len() => { - let status_line: Vec = self - .server_inbuf - .range(0.."HTTP/1.1 200 ".len()) - .copied() - .collect(); + HttpState::ExpectStatusCode if self.server_inbuf.len() > http_len => { + let status_line: Vec = + self.server_inbuf.range(0..http_len + 1).copied().collect(); 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" - || self.server_inbuf["HTTP/1.1 200 ".len() - 1] != b' ' + || self.server_inbuf[http_len] != b' ' { - let status_str = - String::from_utf8_lossy(&status_line.as_slice()[0.."HTTP/1.1 200".len()]); + let status_str = String::from_utf8_lossy(&status_line.as_slice()[0..http_len]); let e = format!("Expected success status code. Server replied with {status_str}."); return Err(e.into());