simplify code with minijinja::render!

This commit is contained in:
Jorge Aparicio 2024-02-05 15:44:25 +01:00
parent cbbb12b3b5
commit bab595a412

View File

@ -1,7 +1,5 @@
use std::{net::Ipv4Addr, process::Child}; use std::{net::Ipv4Addr, process::Child};
use minijinja::{context, Environment};
use crate::{container::Container, Domain, Result, CHMOD_RW_EVERYONE}; use crate::{container::Container, Domain, Result, CHMOD_RW_EVERYONE};
pub struct AuthoritativeNameServer { pub struct AuthoritativeNameServer {
@ -49,32 +47,23 @@ fn tld_zone(domain: &str) -> String {
assert!(domain.ends_with('.')); assert!(domain.ends_with('.'));
assert!(!domain.starts_with('.')); assert!(!domain.starts_with('.'));
let mut env = Environment::new(); minijinja::render!(
let name = "main.zone"; include_str!("templates/tld.zone.jinja"),
env.add_template(name, include_str!("templates/tld.zone.jinja")) tld => domain,
.unwrap(); )
let template = env.get_template(name).unwrap();
template.render(context! { tld => domain }).unwrap()
} }
fn root_zone() -> String { fn root_zone() -> String {
let mut env = Environment::new(); minijinja::render!(include_str!("templates/root.zone.jinja"),)
let name = "main.zone";
env.add_template(name, include_str!("templates/root.zone.jinja"))
.unwrap();
let template = env.get_template(name).unwrap();
template.render(context! {}).unwrap()
} }
fn nsd_conf(domain: &str) -> String { fn nsd_conf(domain: &str) -> String {
assert!(domain.ends_with('.')); assert!(domain.ends_with('.'));
let mut env = Environment::new(); minijinja::render!(
let name = "nsd.conf"; include_str!("templates/nsd.conf.jinja"),
env.add_template(name, include_str!("templates/nsd.conf.jinja")) domain => domain
.unwrap(); )
let template = env.get_template(name).unwrap();
template.render(context! { domain => domain }).unwrap()
} }
#[cfg(test)] #[cfg(test)]