aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authorMathijs van Veluw <[email protected]>2024-01-12 20:44:37 +0100
committerGitHub <[email protected]>2024-01-12 20:44:37 +0100
commit890e668071cffe2833834348e19bbef3c061d014 (patch)
treef935c56b2f67e23f29918c85fe67b1ae4268deac /src/config.rs
parent596c16731284b46a152a655f92bddd0103c632e6 (diff)
downloadvaultwarden-890e668071cffe2833834348e19bbef3c061d014.tar.gz
vaultwarden-890e668071cffe2833834348e19bbef3c061d014.zip
Update crates and fix icon issue (#4237)
- Fix icon download issue by removing the deflate feature - Updated all the crates - Updated Handlebars code Fixes #4224
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs38
1 files changed, 28 insertions, 10 deletions
diff --git a/src/config.rs b/src/config.rs
index ba897edd..8a8c8e35 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -1232,7 +1232,10 @@ impl Config {
}
}
-use handlebars::{Context, Handlebars, Helper, HelperResult, Output, RenderContext, RenderError, Renderable};
+use handlebars::{
+ Context, DirectorySourceOptions, Handlebars, Helper, HelperResult, Output, RenderContext, RenderErrorReason,
+ Renderable,
+};
fn load_templates<P>(path: P) -> Handlebars<'static>
where
@@ -1301,19 +1304,27 @@ where
// And then load user templates to overwrite the defaults
// Use .hbs extension for the files
// Templates get registered with their relative name
- hb.register_templates_directory(".hbs", path).unwrap();
+ hb.register_templates_directory(
+ path,
+ DirectorySourceOptions {
+ tpl_extension: ".hbs".to_owned(),
+ ..Default::default()
+ },
+ )
+ .unwrap();
hb
}
fn case_helper<'reg, 'rc>(
- h: &Helper<'reg, 'rc>,
+ h: &Helper<'rc>,
r: &'reg Handlebars<'_>,
ctx: &'rc Context,
rc: &mut RenderContext<'reg, 'rc>,
out: &mut dyn Output,
) -> HelperResult {
- let param = h.param(0).ok_or_else(|| RenderError::new("Param not found for helper \"case\""))?;
+ let param =
+ h.param(0).ok_or_else(|| RenderErrorReason::Other(String::from("Param not found for helper \"case\"")))?;
let value = param.value().clone();
if h.params().iter().skip(1).any(|x| x.value() == &value) {
@@ -1324,17 +1335,21 @@ fn case_helper<'reg, 'rc>(
}
fn js_escape_helper<'reg, 'rc>(
- h: &Helper<'reg, 'rc>,
+ h: &Helper<'rc>,
_r: &'reg Handlebars<'_>,
_ctx: &'rc Context,
_rc: &mut RenderContext<'reg, 'rc>,
out: &mut dyn Output,
) -> HelperResult {
- let param = h.param(0).ok_or_else(|| RenderError::new("Param not found for helper \"jsesc\""))?;
+ let param =
+ h.param(0).ok_or_else(|| RenderErrorReason::Other(String::from("Param not found for helper \"jsesc\"")))?;
let no_quote = h.param(1).is_some();
- let value = param.value().as_str().ok_or_else(|| RenderError::new("Param for helper \"jsesc\" is not a String"))?;
+ let value = param
+ .value()
+ .as_str()
+ .ok_or_else(|| RenderErrorReason::Other(String::from("Param for helper \"jsesc\" is not a String")))?;
let mut escaped_value = value.replace('\\', "").replace('\'', "\\x22").replace('\"', "\\x27");
if !no_quote {
@@ -1346,15 +1361,18 @@ fn js_escape_helper<'reg, 'rc>(
}
fn to_json<'reg, 'rc>(
- h: &Helper<'reg, 'rc>,
+ h: &Helper<'rc>,
_r: &'reg Handlebars<'_>,
_ctx: &'rc Context,
_rc: &mut RenderContext<'reg, 'rc>,
out: &mut dyn Output,
) -> HelperResult {
- let param = h.param(0).ok_or_else(|| RenderError::new("Expected 1 parameter for \"to_json\""))?.value();
+ let param = h
+ .param(0)
+ .ok_or_else(|| RenderErrorReason::Other(String::from("Expected 1 parameter for \"to_json\"")))?
+ .value();
let json = serde_json::to_string(param)
- .map_err(|e| RenderError::new(format!("Can't serialize parameter to JSON: {e}")))?;
+ .map_err(|e| RenderErrorReason::Other(format!("Can't serialize parameter to JSON: {e}")))?;
out.write(&json)?;
Ok(())
}