Configuration

First, let's create a new file in src/ called config.rs. To make things easier, we'll use the TOML format for our configuration file. Luckily for us, there is a crate for handling TOML files in Rust, called toml. In addition to this one, we'll use serde to handle serialization and deserialization (very useful!).

Ok, let's start by adding the dependencies into our Cargo.toml file:

toml = "0.4"
serde = "1.0"
serde_derive = "1.0"

Good, now let's write our Config struct:

pub struct Config {
    // fields...
}

So what should we put in there? The port and address the server should listen on to start, maybe?

pub struct Config {
    pub server_port: Option<u16>,
    pub server_addr: Option<String>,
}

Done. We also talked about handling authentication. ...

Get Rust Programming By Example now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.