Crate serde_file_value

Source
Expand description

A Serde deserializer which transparently loads files as string values.

§Usage

Assume we have a /mnt/secrets/my_secret file that looks like:

hunter2

And a conf/config.json that looks like:

{
    "secret_value": "${file:/mnt/secrets/my_secret}"
}
use std::{fs, io, path::Path};

use serde::Deserialize;

#[derive(Deserialize)]
struct Config {
    secret_value: String,
}

let config = fs::read("conf/config.json").unwrap();

let mut deserializer = serde_json::Deserializer::from_slice(&config);
let config: Config = serde_file_value::deserialize(&mut deserializer, |_, _| ()).unwrap();

assert_eq!(config.secret_value, "hunter2");

Structs§

Deserializer
A deserializer which automatically reads referenced files.

Functions§

deserialize
Entry point.