[−][src]Struct rocket::config::ConfigBuilder
Structure following the builder pattern for building Config
structures.
Fields
environment: Environment
The environment that this configuration corresponds to.
address: String
The address to serve on.
port: u16
The port to serve on.
workers: u16
The number of workers to run in parallel.
keep_alive: u32
Keep-alive timeout in seconds or disabled if 0.
log_level: LoggingLevel
How much information to log.
secret_key: Option<String>
The secret key.
tls: Option<(String, String)>
TLS configuration (path to certificates file, path to private key file).
limits: Limits
Size limits.
extras: HashMap<String, Value>
Any extra parameters that aren't part of Rocket's config.
root: Option<PathBuf>
The root directory of this config, if any.
Methods
impl ConfigBuilder
[src]
pub fn new(environment: Environment) -> ConfigBuilder
[src]
Create a new ConfigBuilder
instance using the default parameters from
the given environment
.
This method is typically called indirectly via Config::build()
.
Example
use rocket::config::{Config, Environment}; let config = Config::build(Environment::Staging) .address("127.0.0.1") .port(700) .workers(12) .finalize();
pub fn address<A: Into<String>>(self, address: A) -> Self
[src]
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");
pub fn port(self, port: u16) -> Self
[src]
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);
pub fn workers(self, workers: u16) -> Self
[src]
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);
pub fn keep_alive(self, timeout: u32) -> Self
[src]
Sets the keep-alive timeout to timeout
seconds. If timeout
is 0
,
keep-alive is disabled.
Example
use rocket::config::{Config, Environment}; let config = Config::build(Environment::Staging) .keep_alive(10) .unwrap(); assert_eq!(config.keep_alive, Some(10)); let config = Config::build(Environment::Staging) .keep_alive(0) .unwrap(); assert_eq!(config.keep_alive, None);
pub fn log_level(self, log_level: LoggingLevel) -> Self
[src]
Sets the log_level
in the configuration being built.
Example
use rocket::config::{Config, Environment, LoggingLevel}; let config = Config::build(Environment::Staging) .log_level(LoggingLevel::Critical) .unwrap(); assert_eq!(config.log_level, LoggingLevel::Critical);
pub fn secret_key<K: Into<String>>(self, key: K) -> Self
[src]
Sets the secret_key
in the configuration being built.
Example
use rocket::config::{Config, Environment, LoggingLevel}; let key = "8Xui8SN4mI+7egV/9dlfYYLGQJeEx4+DwmSQLwDVXJg="; let mut config = Config::build(Environment::Staging) .secret_key(key) .unwrap();
pub fn limits(self, limits: Limits) -> Self
[src]
Sets the limits
in the configuration being built.
Example
use rocket::config::{Config, Environment, Limits}; let mut config = Config::build(Environment::Staging) .limits(Limits::new().limit("json", 5 * (1 << 20))) .unwrap();
pub fn tls<C, K>(self, certs_path: C, key_path: K) -> Self where
C: Into<String>,
K: Into<String>,
[src]
C: Into<String>,
K: Into<String>,
Sets the TLS configuration in the configuration being built.
Certificates are read from certs_path
. The certificate chain must be
in X.509 PEM format. The private key is read from key_path
. The
private key must be an RSA key in either PKCS#1 or PKCS#8 PEM format.
Example
use rocket::config::{Config, Environment}; let mut config = Config::build(Environment::Staging) .tls("/path/to/certs.pem", "/path/to/key.pem") .unwrap();
pub fn environment(self, env: Environment) -> Self
[src]
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);
pub fn root<P: AsRef<Path>>(self, path: P) -> Self
[src]
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().unwrap(), Path::new("/my_app/dir"));
pub fn extra<V: Into<Value>>(self, name: &str, value: V) -> Self
[src]
Adds an extra configuration parameter with name
and value
to the
configuration being built. The value can be any type that implements
Into<Value>
including &str
, String
, Vec<V: Into<Value>>
,
HashMap<S: Into<String>, V: Into<Value>>
, and most 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"));
pub fn finalize(self) -> Result<Config>
[src]
Return the Config
structure that was being built by this builder.
Errors
If the address or secret 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) .keep_alive(0) .finalize(); assert!(config.is_ok()); let config = Config::build(Environment::Staging) .address("123.123.123.123.123 whoops!") .finalize(); assert!(config.is_err());
pub fn unwrap(self) -> Config
[src]
Return the Config
structure that was being built by this builder.
Panics
Panics if the supplied address, secret key, or TLS configuration 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");
pub fn expect(self, msg: &str) -> Config
[src]
Returns the Config
structure that was being built by this builder.
Panics
Panics if the supplied address, secret key, or TLS configuration fail to
parse. If a panic occurs, the error message msg
is printed.
Example
use rocket::config::{Config, Environment}; let config = Config::build(Environment::Staging) .address("127.0.0.1") .expect("the configuration is bad!"); assert_eq!(config.address.as_str(), "127.0.0.1");
Trait Implementations
impl Clone for ConfigBuilder
[src]
fn clone(&self) -> ConfigBuilder
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Auto Trait Implementations
impl RefUnwindSafe for ConfigBuilder
impl Send for ConfigBuilder
impl Sync for ConfigBuilder
impl Unpin for ConfigBuilder
impl UnwindSafe for ConfigBuilder
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T, I> AsResult<T, I> for T where
I: Input,
[src]
I: Input,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoCollection<T> for T
[src]
fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
[src]
A: Array<Item = T>,
fn mapped<U, F, A>(self, f: F) -> SmallVec<A> where
A: Array<Item = U>,
F: FnMut(T) -> U,
[src]
A: Array<Item = U>,
F: FnMut(T) -> U,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Typeable for T where
T: Any,
T: Any,