Struct native_tls::TlsConnector
source · pub struct TlsConnector(/* private fields */);
Expand description
A builder for client-side TLS connections.
Examples
use native_tls::TlsConnector;
use std::io::{Read, Write};
use std::net::TcpStream;
let connector = TlsConnector::new().unwrap();
let stream = TcpStream::connect("google.com:443").unwrap();
let mut stream = connector.connect("google.com", stream).unwrap();
stream.write_all(b"GET / HTTP/1.0\r\n\r\n").unwrap();
let mut res = vec![];
stream.read_to_end(&mut res).unwrap();
println!("{}", String::from_utf8_lossy(&res));
Implementations§
source§impl TlsConnector
impl TlsConnector
sourcepub fn new() -> Result<TlsConnector>
pub fn new() -> Result<TlsConnector>
Returns a new connector with default settings.
sourcepub fn builder() -> TlsConnectorBuilder
pub fn builder() -> TlsConnectorBuilder
Returns a new builder for a TlsConnector
.
sourcepub fn connect<S>(
&self,
domain: &str,
stream: S
) -> Result<TlsStream<S>, HandshakeError<S>>where
S: Read + Write,
pub fn connect<S>( &self, domain: &str, stream: S ) -> Result<TlsStream<S>, HandshakeError<S>>where S: Read + Write,
Initiates a TLS handshake.
The provided domain will be used for both SNI and certificate hostname validation.
If the socket is nonblocking and a WouldBlock
error is returned during
the handshake, a HandshakeError::WouldBlock
error will be returned
which can be used to restart the handshake when the socket is ready
again.
The domain is ignored if both SNI and hostname verification are disabled.
Trait Implementations§
source§impl Clone for TlsConnector
impl Clone for TlsConnector
source§fn clone(&self) -> TlsConnector
fn clone(&self) -> TlsConnector
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl RefUnwindSafe for TlsConnector
impl Send for TlsConnector
impl Sync for TlsConnector
impl Unpin for TlsConnector
impl UnwindSafe for TlsConnector
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more