pub struct BasicSettings<A> {
    pub actix: ActixSettings,
    pub application: A,
}
Expand description

Wrapper for server and application-specific settings.

Fields§

§actix: ActixSettings

Actix Web server settings.

§application: A

Application-specific settings.

Implementations§

source§

impl<A> BasicSettings<A>where A: DeserializeOwned,

source

pub fn parse_toml<P>(filepath: P) -> Result<Self, Error>where P: AsRef<Path>,

Parse an instance of Self from a TOML file located at filepath.

If the file doesn’t exist, it is generated from the default TOML template, after which the newly generated file is read in and parsed.

source

pub fn from_default_template() -> Result<Self, Error>

Parse an instance of Self straight from the default TOML template.

source

pub fn from_template(template: &str) -> Result<Self, Error>

Parse an instance of Self straight from the default TOML template.

source

pub fn write_toml_file<P>(filepath: P) -> Result<(), Error>where P: AsRef<Path>,

Writes the default TOML template to a new file, located at filepath.

Errors

Returns a FileExists error if a file already exists at that location.

source

pub fn override_field<F, V>(field: &mut F, value: V) -> Result<(), Error>where F: Parse, V: AsRef<str>,

Attempts to parse value and override the referenced field.

Examples
use actix_settings::{Settings, Mode};

let mut settings = Settings::from_default_template()?;
assert_eq!(settings.actix.mode, Mode::Development);

Settings::override_field(&mut settings.actix.mode, "production")?;
assert_eq!(settings.actix.mode, Mode::Production);
source

pub fn override_field_with_env_var<F, N>( field: &mut F, var_name: N ) -> Result<(), Error>where F: Parse, N: AsRef<str>,

Attempts to read an environment variable, parse it, and override the referenced field.

Examples
use actix_settings::{Settings, Mode};

std::env::set_var("OVERRIDE__MODE", "production");

let mut settings = Settings::from_default_template()?;
assert_eq!(settings.actix.mode, Mode::Development);

Settings::override_field_with_env_var(&mut settings.actix.mode, "OVERRIDE__MODE")?;
assert_eq!(settings.actix.mode, Mode::Production);

Trait Implementations§

source§

impl<F, I, S, B, A> ApplySettings<BasicSettings<A>> for HttpServer<F, I, S, B>where F: Fn() -> I + Send + Clone + 'static, I: IntoServiceFactory<S, Request>, S: ServiceFactory<Request, Config = AppConfig> + 'static, S::Error: Into<Error> + 'static, S::InitError: Debug, S::Response: Into<Response<B>> + 'static, S::Future: 'static, B: MessageBody + 'static, A: DeserializeOwned,

source§

fn apply_settings(self, settings: &BasicSettings<A>) -> Self

Apply some settings object value to self.
source§

impl<A: Clone> Clone for BasicSettings<A>

source§

fn clone(&self) -> BasicSettings<A>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<A: Debug> Debug for BasicSettings<A>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, A> Deserialize<'de> for BasicSettings<A>where A: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<A: Hash> Hash for BasicSettings<A>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<A: PartialEq> PartialEq for BasicSettings<A>

source§

fn eq(&self, other: &BasicSettings<A>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<A: Eq> Eq for BasicSettings<A>

source§

impl<A> StructuralEq for BasicSettings<A>

source§

impl<A> StructuralPartialEq for BasicSettings<A>

Auto Trait Implementations§

§

impl<A> RefUnwindSafe for BasicSettings<A>where A: RefUnwindSafe,

§

impl<A> Send for BasicSettings<A>where A: Send,

§

impl<A> Sync for BasicSettings<A>where A: Sync,

§

impl<A> Unpin for BasicSettings<A>where A: Unpin,

§

impl<A> UnwindSafe for BasicSettings<A>where A: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,