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

A trait to load configurations for one or more plugins.

Required Methods§

source

fn name(&self) -> &'static str

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 try_load( &self, url: &Url, maybe_whitelist: Option<&[String]> ) -> Result<HashMap<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§