Remove useless clones (#609)
This commit is contained in:
@@ -116,11 +116,12 @@ impl TryFrom<&Headers> for Envelope {
|
||||
// ... else try From
|
||||
None => match headers.get::<header::From>() {
|
||||
Some(header::From(a)) => {
|
||||
let from: Vec<Mailbox> = a.into();
|
||||
let mut from: Vec<Mailbox> = a.into();
|
||||
if from.len() > 1 {
|
||||
return Err(Error::TooManyFrom);
|
||||
}
|
||||
Some(from[0].email.clone())
|
||||
let from = from.pop().expect("From header has 1 Mailbox");
|
||||
Some(from.email)
|
||||
}
|
||||
None => None,
|
||||
},
|
||||
@@ -131,9 +132,7 @@ impl TryFrom<&Headers> for Envelope {
|
||||
mailboxes: Option<Mailboxes>,
|
||||
) {
|
||||
if let Some(mailboxes) = mailboxes {
|
||||
for mailbox in mailboxes.iter() {
|
||||
addresses.push(mailbox.email.clone());
|
||||
}
|
||||
addresses.extend(mailboxes.into_iter().map(|mb| mb.email));
|
||||
}
|
||||
}
|
||||
let mut to = vec![];
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
#[cfg(any(
|
||||
feature = "tokio02-rustls-tls",
|
||||
feature = "tokio1-rustls-tls",
|
||||
feature = "async-std1-rustls-tls"
|
||||
))]
|
||||
use std::sync::Arc;
|
||||
use std::{
|
||||
mem,
|
||||
net::SocketAddr,
|
||||
@@ -303,7 +297,7 @@ impl AsyncNetworkStream {
|
||||
let domain =
|
||||
DNSNameRef::try_from_ascii_str(&domain).map_err(error::connection)?;
|
||||
|
||||
let connector = TlsConnector::from(Arc::new(config));
|
||||
let connector = TlsConnector::from(config);
|
||||
let stream = connector
|
||||
.connect(domain, tcp_stream)
|
||||
.await
|
||||
@@ -352,7 +346,7 @@ impl AsyncNetworkStream {
|
||||
let domain =
|
||||
DNSNameRef::try_from_ascii_str(&domain).map_err(error::connection)?;
|
||||
|
||||
let connector = TlsConnector::from(Arc::new(config));
|
||||
let connector = TlsConnector::from(config);
|
||||
let stream = connector
|
||||
.connect(domain, tcp_stream)
|
||||
.await
|
||||
@@ -404,7 +398,7 @@ impl AsyncNetworkStream {
|
||||
let domain =
|
||||
DNSNameRef::try_from_ascii_str(&domain).map_err(error::connection)?;
|
||||
|
||||
let connector = TlsConnector::from(Arc::new(config));
|
||||
let connector = TlsConnector::from(config);
|
||||
let stream = connector
|
||||
.connect(domain, tcp_stream)
|
||||
.await
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#[cfg(feature = "rustls-tls")]
|
||||
use std::sync::Arc;
|
||||
use std::{
|
||||
io::{self, Read, Write},
|
||||
mem,
|
||||
@@ -155,10 +153,7 @@ impl NetworkStream {
|
||||
|
||||
let domain = DNSNameRef::try_from_ascii_str(tls_parameters.domain())
|
||||
.map_err(error::connection)?;
|
||||
let stream = StreamOwned::new(
|
||||
ClientSession::new(&Arc::new(connector.clone()), domain),
|
||||
tcp_stream,
|
||||
);
|
||||
let stream = StreamOwned::new(ClientSession::new(&connector, domain), tcp_stream);
|
||||
|
||||
InnerNetworkStream::RustlsTls(stream)
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ impl TlsParametersBuilder {
|
||||
|
||||
tls.root_store.add_server_trust_anchors(&TLS_SERVER_ROOTS);
|
||||
Ok(TlsParameters {
|
||||
connector: InnerTlsParameters::RustlsTls(tls),
|
||||
connector: InnerTlsParameters::RustlsTls(Arc::new(tls)),
|
||||
domain: self.domain,
|
||||
})
|
||||
}
|
||||
@@ -190,7 +190,7 @@ pub enum InnerTlsParameters {
|
||||
#[cfg(feature = "native-tls")]
|
||||
NativeTls(TlsConnector),
|
||||
#[cfg(feature = "rustls-tls")]
|
||||
RustlsTls(ClientConfig),
|
||||
RustlsTls(Arc<ClientConfig>),
|
||||
}
|
||||
|
||||
impl TlsParameters {
|
||||
|
||||
Reference in New Issue
Block a user