Struct rocket::config::ConfigBuilder [] [src]

pub struct ConfigBuilder {
    pub environment: Environment,
    pub address: String,
    pub port: u16,
    pub workers: u16,
    pub log_level: LoggingLevel,
    pub session_key: Option<String>,
    pub extras: HashMap<String, Value>,
    pub root: PathBuf,
}

Structure following the builder pattern for building Config structures.

Fields

The environment that this configuration corresponds to.

The address to serve on.

The port to serve on.

The number of workers to run in parallel.

How much information to log.

The session key.

Any extra parameters that aren't part of Rocket's config.

The root directory of this config.

Methods

impl ConfigBuilder
[src]

Create a new ConfigBuilder instance using the default parameters from the given environment. The root configuration directory is set to the current working directory.

This method is typically called indirectly via Config::build.

Panics

Panics if the current directory cannot be retrieved.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .address("127.0.0.1")
    .port(700)
    .workers(12)
    .finalize();

Sets the address in the configuration being built.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .address("127.0.0.1")
    .unwrap();

assert_eq!(config.address.as_str(), "127.0.0.1");

Sets the port in the configuration being built.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .port(1329)
    .unwrap();

assert_eq!(config.port, 1329);

Sets workers in the configuration being built.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .workers(64)
    .unwrap();

assert_eq!(config.workers, 64);

Sets the log_level in the configuration being built.

Example

use rocket::LoggingLevel;
use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .log_level(LoggingLevel::Critical)
    .unwrap();

assert_eq!(config.log_level, LoggingLevel::Critical);

Sets the session_key in the configuration being built.

Example

use rocket::LoggingLevel;
use rocket::config::{Config, Environment};

let key = "VheMwXIBygSmOlZAhuWl2B+zgvTN3WW5";
let mut config = Config::build(Environment::Staging)
    .session_key(key)
    .unwrap();

assert_eq!(config.take_session_key(), Some(key.to_string()));

Sets the environment in the configuration being built.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .environment(Environment::Production)
    .unwrap();

assert_eq!(config.environment, Environment::Production);

Sets the root in the configuration being built.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .root("/my_app/dir")
    .unwrap();

assert_eq!(config.root(), Path::new("/my_app/dir"));

Adds an extra configuration parameter with name and value to the configuration being built. The value can be any type that implements IntoValue including &str, String, Vec<V: IntoValue>, HashMap<S: Into<String>, V: IntoValue>, and all integer and float types.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .extra("pi", 3.14)
    .extra("custom_dir", "/a/b/c")
    .unwrap();

assert_eq!(config.get_float("pi"), Ok(3.14));
assert_eq!(config.get_str("custom_dir"), Ok("/a/b/c"));

Return the Config structure that was being built by this builder.

Errors

If the current working directory cannot be retrieved, returns a BadCWD error. If the address or session key fail to parse, returns a BadType error.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .address("127.0.0.1")
    .port(700)
    .workers(12)
    .finalize();

assert!(config.is_ok());

let config = Config::build(Environment::Staging)
    .address("?")
    .finalize();

assert!(config.is_err());

Return the Config structure that was being built by this builder.

Panics

Panics if the current working directory cannot be retrieved or if the supplied address or session key fail to parse.

Example

use rocket::config::{Config, Environment};

let config = Config::build(Environment::Staging)
    .address("127.0.0.1")
    .unwrap();

assert_eq!(config.address.as_str(), "127.0.0.1");

Trait Implementations

impl Clone for ConfigBuilder
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more