diff options
Diffstat (limited to 'angelsharkd/src/routes/extensions/mod.rs')
| -rw-r--r-- | angelsharkd/src/routes/extensions/mod.rs | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/angelsharkd/src/routes/extensions/mod.rs b/angelsharkd/src/routes/extensions/mod.rs index adcea3f..7f217d6 100644 --- a/angelsharkd/src/routes/extensions/mod.rs +++ b/angelsharkd/src/routes/extensions/mod.rs @@ -6,18 +6,22 @@ mod simple_deprov;  #[cfg(feature = "simple_search")]  mod simple_search; +/// The extension filter; consists of all compiled optional Angelshark extension +/// filters combined under `/extensions`.  pub fn filter(config: &Config) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone {      // Note: this next line deals with the common edge case of having no      // extensions loaded with feature flags. It ensures that the the type      // checking is right when the return `.and()` is called below.      let filters = default().or(default()); +    // Block to enable simple_search extension feature. Instantiates a +    // searchable haystack and configures filters to handle search requests.      #[cfg(feature = "simple_search")]      let haystack = simple_search::Haystack::new(config.runner.clone());      #[cfg(feature = "simple_search")]      let filters = filters -        .or(simple_search::search(haystack.clone())) -        .or(simple_search::refresh(haystack)); +        .or(simple_search::search_filter(haystack.clone())) +        .or(simple_search::refresh_filter(haystack));      #[cfg(feature = "simple_deprov")]      let filters = filters.or(simple_deprov::filter()); @@ -25,6 +29,7 @@ pub fn filter(config: &Config) -> impl Filter<Extract = impl Reply, Error = Reje      path("extensions").and(filters)  } +/// The default, informational extension route.  fn default() -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone {      warp::path::end().map(|| "Angelshark extension route index. Enable extensions with feature switches and access them at `/extensions/<feature>`.")  } |