pub trait ConfigurationLoader: Send + Sync + Debug {
    // Required methods
    fn name(&self) -> String;
    fn scheme_list(&self) -> Vec<String>;
    fn load(
        &self,
        url: &Url,
        maybe_whitelist: Option<&[String]>,
        skip_soft_errors: bool
    ) -> Result<Vec<(String, ConfigurationEntity)>, ConfigurationLoadError>;
}
Expand description

A trait to load configurations for one or more plugins.

Required Methods§

source

fn name(&self) -> String

Name of the loader (for logging purposes).

source

fn scheme_list(&self) -> Vec<String>

List of URL schemes that this loader supports.

Different URL may be assigned to this loader by their scheme value.

source

fn load( &self, url: &Url, maybe_whitelist: Option<&[String]>, skip_soft_errors: bool ) -> Result<Vec<(String, ConfigurationEntity)>, ConfigurationLoadError>

Main method that actually loads configurations.

  • Checks the url and detects its own options from it.
  • Checks whitelist to load just provided plugins configurations.
  • Attempts to load configurations.
  • Tries to set format for each ConfigurationEntity.

Implementors§