diff options
Diffstat (limited to 'ext/http/websocket_upgrade.rs')
-rw-r--r-- | ext/http/websocket_upgrade.rs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/ext/http/websocket_upgrade.rs b/ext/http/websocket_upgrade.rs index 70ad78526..f57f9e56b 100644 --- a/ext/http/websocket_upgrade.rs +++ b/ext/http/websocket_upgrade.rs @@ -131,12 +131,9 @@ impl<T: Default> WebSocketUpgrade<T> { HEADER_SEARCHER.get_or_init(|| TwoWaySearcher::new(b"\r\n\r\n")); let header_searcher2 = HEADER_SEARCHER2.get_or_init(|| TwoWaySearcher::new(b"\n\n")); - if let Some(..) = header_searcher.search_in(&self.buf) { - let (index, response) = parse_response(&self.buf)?; - let mut buf = std::mem::take(&mut self.buf); - self.state = Complete; - Ok(Some((response, buf.split_off(index).freeze()))) - } else if let Some(..) = header_searcher2.search_in(&self.buf) { + if header_searcher.search_in(&self.buf).is_some() + || header_searcher2.search_in(&self.buf).is_some() + { let (index, response) = parse_response(&self.buf)?; let mut buf = std::mem::take(&mut self.buf); self.state = Complete; |