Expand description
Async Tls bindings for libtls.
See also libtls for more information.
Note, the API for this crate is neither finished nor documented yet.
§Example
use std::io;
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use tokio_libtls::prelude::{connect, Builder};
async fn async_https_connect(servername: String) -> io::Result<()> {
let request = format!(
"GET / HTTP/1.1\r\n\
Host: {}\r\n\
Connection: close\r\n\r\n",
servername
);
let config = Builder::new().build()?;
let mut tls = connect(&(servername + ":443"), &config, None).await?;
tls.write_all(request.as_bytes()).await?;
let mut buf = vec![0u8; 1024];
tls.read_exact(&mut buf).await?;
let ok = b"HTTP/1.1 200 OK\r\n";
assert_eq!(&buf[..ok.len()], ok);
Ok(())
}Modules§
Structs§
- Async
Tls - Async
Tlsstruct. - Options
- Configuration options for
AsyncTls. - TlsStream
- Wrapper for async I/O operations with
Tls.
Functions§
- accept
- Accept a new async
Tlsconnection. - accept_
stream - Accept a new async
Tlsconnection on an established client connection. - connect
- Connect a new async
Tlsconnection. - connect_
stream - Upgrade a TCP stream to a new async
Tlsconnection.
Type Aliases§
- Async
TlsOptions Deprecated - Configuration options for
AsyncTls. - Async
TlsStream - Pollable wrapper for async I/O operations with
Tls.