Struct native_tls::TlsConnector[][src]

pub struct TlsConnector(_);

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

impl TlsConnector[src]

pub fn new() -> Result<TlsConnector>[src]

Returns a new connector with default settings.

pub fn builder() -> TlsConnectorBuilder[src]

Returns a new builder for a TlsConnector.

pub fn connect<S>(
    &self,
    domain: &str,
    stream: S
) -> Result<TlsStream<S>, HandshakeError<S>> where
    S: Read + Write
[src]

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

impl Clone for TlsConnector[src]

Auto Trait Implementations

impl RefUnwindSafe for TlsConnector

impl Send for TlsConnector

impl Sync for TlsConnector

impl Unpin for TlsConnector

impl UnwindSafe for TlsConnector

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.