diff --git a/src/client/builder.rs b/src/client/builder.rs index ed692cd014..0229b07928 100644 --- a/src/client/builder.rs +++ b/src/client/builder.rs @@ -505,8 +505,7 @@ impl<'u> ClientBuilder<'u> { { // send request let resource = self.build_request(); - let data = format!("GET {} {}\r\n{}\r\n", resource, self.version, self.headers); - stream.write_all(data.as_bytes())?; + write!(stream, "GET {} {}\r\n{}\r\n", resource, self.version, self.headers)?; // wait for a response let mut reader = BufReader::new(stream); diff --git a/src/result.rs b/src/result.rs index 0c01c07d85..1391096fab 100644 --- a/src/result.rs +++ b/src/result.rs @@ -83,11 +83,11 @@ impl fmt::Display for WebSocketOtherError { WebSocketOtherError::ProtocolError(e) => write!(fmt, "WebSocketError: {}", e), #[cfg(any(feature = "sync-ssl", feature = "async-ssl"))] WebSocketOtherError::TlsHandshakeFailure => { - write!(fmt, "WebSocketError: {}", "TLS Handshake failure") + fmt.write_str("WebSocketError: TLS Handshake failure") } #[cfg(any(feature = "sync-ssl", feature = "async-ssl"))] WebSocketOtherError::TlsHandshakeInterruption => { - write!(fmt, "WebSocketError: {}", "TLS Handshake interrupted") + fmt.write_str("WebSocketError: TLS Handshake interrupted") } } } diff --git a/src/server/mod.rs b/src/server/mod.rs index 35cb362a31..ba1f65ee47 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -55,9 +55,9 @@ where { fn fmt(&self, fmt: &mut Formatter<'_>) -> FmtResult { fmt.debug_struct("InvalidConnection") - .field("stream", &String::from("...")) - .field("parsed", &String::from("...")) - .field("buffer", &String::from("...")) + .field("stream", &"...") + .field("parsed", &"...") + .field("buffer", &"...") .field("error", &self.error) .finish() } diff --git a/src/server/upgrade/mod.rs b/src/server/upgrade/mod.rs index c49c012602..c176d44635 100644 --- a/src/server/upgrade/mod.rs +++ b/src/server/upgrade/mod.rs @@ -135,12 +135,7 @@ where #[cfg(feature = "sync")] fn send(&mut self, status: StatusCode) -> io::Result<()> { - let data = format!( - "{} {}\r\n{}\r\n", - self.request.version, status, self.headers - ); - self.stream.write_all(data.as_bytes())?; - Ok(()) + write!(self.stream, "{} {}\r\n{}\r\n", self.request.version, status, self.headers) } #[doc(hidden)] diff --git a/websocket-base/src/header.rs b/websocket-base/src/header.rs index ac18d9ae26..7c67a06e49 100644 --- a/websocket-base/src/header.rs +++ b/websocket-base/src/header.rs @@ -101,11 +101,10 @@ impl FromStr for WebSocketAccept { impl WebSocketAccept { /// Create a new WebSocketAccept from the given WebSocketKey pub fn new(key: &WebSocketKey) -> WebSocketAccept { - let serialized = key.serialize(); - let mut concat_key = String::with_capacity(serialized.len() + 36); - concat_key.push_str(&serialized[..]); - concat_key.push_str(MAGIC_GUID); - let hash = Sha1::digest(concat_key.as_bytes()); + let mut serialized = key.serialize(); + serialized.reserve_exact(MAGIC_GUID.len()); + serialized.push_str(MAGIC_GUID); + let hash = Sha1::digest(serialized.as_bytes()); WebSocketAccept(hash.into()) } /// Return the Base64 encoding of this WebSocketAccept diff --git a/websocket-base/src/message.rs b/websocket-base/src/message.rs index 8a5be38b3c..b8c7082e26 100644 --- a/websocket-base/src/message.rs +++ b/websocket-base/src/message.rs @@ -166,7 +166,7 @@ impl<'a> ws::dataframe::DataFrame for Message<'a> { let mut buf = Vec::with_capacity(2 + self.payload.len()); buf.write_u16::(reason) .expect("failed to write close code in take_payload"); - buf.append(&mut self.payload.into_owned()); + buf.extend_from_slice(&self.payload); buf } else { self.payload.into_owned()