Add From impls for native_tls structs to enable creation for usage with hyper::server::Server struct (#28)

This commit is contained in:
John Baublitz
2018-07-30 23:10:56 -04:00
committed by Sean McArthur
parent f08194b28d
commit e6ecd3972f
+24
View File
@@ -38,6 +38,24 @@ impl<T: fmt::Debug> fmt::Debug for MaybeHttpsStream<T> {
}
}
impl<T> From<native_tls::TlsStream<T>> for MaybeHttpsStream<T> {
fn from(inner: native_tls::TlsStream<T>) -> Self {
MaybeHttpsStream::Https(TlsStream::from(inner))
}
}
impl<T> From<T> for MaybeHttpsStream<T> {
fn from(inner: T) -> Self {
MaybeHttpsStream::Http(inner)
}
}
impl<T> From<TlsStream<T>> for MaybeHttpsStream<T> {
fn from(inner: TlsStream<T>) -> Self {
MaybeHttpsStream::Https(inner)
}
}
impl<T: Read + Write> Read for MaybeHttpsStream<T> {
#[inline]
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {
@@ -118,6 +136,12 @@ impl<T: fmt::Debug> fmt::Debug for TlsStream<T> {
}
}
impl<T> From<native_tls::TlsStream<T>> for TlsStream<T> {
fn from(stream: native_tls::TlsStream<T>) -> Self {
TlsStream { inner: stream }
}
}
impl<T: Read + Write> Read for TlsStream<T> {
#[inline]
fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> {