Crate trillium_smol[][src]

Expand description

Trillium adapter using smol and async-global-executor

Default / 12-factor applications

trillium_smol::run(|conn: trillium::Conn| async move {
    conn.ok("hello smol")
});

Server configuration

For more details, see trillium_smol::config.

let stopper = trillium_smol::Stopper::new();
trillium_smol::config()
    .with_port(8082)
    .with_host("0.0.0.0")
    .without_signals()
    .with_nodelay()
    .with_acceptor(()) // see [`trillium_rustls`] and [`trillium_native_tls`]
    .with_stopper(stopper)
    .run(|conn: trillium::Conn| async move {
        conn.ok("hello smol")
    });

Client

trillium_testing::with_server("ok", |url| async move {
    use trillium_smol::TcpConnector;
    use trillium_client::{Conn, Client};
    let mut conn = Conn::<TcpConnector>::get(url.clone()).execute().await?;
    assert_eq!(conn.response_body().read_string().await?, "ok");

    let client = Client::<TcpConnector>::new().with_default_pool();
    let mut conn = client.get(url);
    conn.send().await?;
    assert_eq!(conn.response_body().read_string().await?, "ok");
    Ok(())
});

Re-exports

pub use async_io;
pub use async_net;

Structs

configuration for the tcp Connector

This struct provides a synchronized mechanism for canceling Futures and Streams.

tcp connector for smol based on async_net::TcpStream

Functions

Configures a server before running it

Runs a trillium handler in a sync context with default config

Runs a trillium handler in an async context with default config