gatel-core 0.1.2

A high-performance, KDL-configured reverse proxy and web server
Documentation
//! Template placeholder expansion.

use std::collections::HashMap;

/// Replace all `{key}` placeholders in `template` with values from `values`.
pub fn expand_placeholders(template: &str, values: &HashMap<&str, String>) -> String {
    let mut result = template.to_string();
    for (key, value) in values {
        result = result.replace(&format!("{{{key}}}"), value);
    }
    result
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn basic_replacement() {
        let mut values = HashMap::new();
        values.insert("name", "Alice".to_string());
        let result = expand_placeholders("Hello {name}", &values);
        assert_eq!(result, "Hello Alice");
    }
}