diff options
Diffstat (limited to '')
| -rw-r--r-- | askama_shared/src/generator.rs | 4 | ||||
| -rw-r--r-- | askama_shared/src/input.rs | 6 | 
2 files changed, 10 insertions, 0 deletions
| diff --git a/askama_shared/src/generator.rs b/askama_shared/src/generator.rs index 5c6303c..cd18819 100644 --- a/askama_shared/src/generator.rs +++ b/askama_shared/src/generator.rs @@ -165,6 +165,10 @@ impl<'a, S: std::hash::BuildHasher> Generator<'a, S> {          buf.writeln(&format!("{}", size_hint))?;          buf.writeln(";")?; +        buf.writeln("const MIME_TYPE: &'static ::std::primitive::str = ")?; +        buf.writeln(&format!("{:?}", &self.input.mime_type))?; +        buf.writeln(";")?; +          buf.writeln("}")?;          Ok(())      } diff --git a/askama_shared/src/input.rs b/askama_shared/src/input.rs index a679461..17410ed 100644 --- a/askama_shared/src/input.rs +++ b/askama_shared/src/input.rs @@ -14,6 +14,7 @@ pub struct TemplateInput<'a> {      pub print: Print,      pub escaper: &'a str,      pub ext: Option<String>, +    pub mime_type: String,      pub parent: Option<&'a syn::Type>,      pub path: PathBuf,  } @@ -180,6 +181,10 @@ impl TemplateInput<'_> {              CompileError::String(format!("no escaper defined for extension '{}'", escaping,))          })?; +        let mime_type = +            extension_to_mime_type(ext_default_to_path(ext.as_deref(), &path).unwrap_or("txt")) +                .to_string(); +          Ok(TemplateInput {              ast,              config, @@ -188,6 +193,7 @@ impl TemplateInput<'_> {              print,              escaper,              ext, +            mime_type,              parent,              path,          }) | 
