resuma 0.4.5

Resuma - SSR + Resumability + Islands + Server Actions + JS Bridge for Rust
Documentation
//! Global request extensions injected into every [`crate::FlowRequest`] (DB handles, config).

use std::collections::BTreeMap;

use serde_json::Value;

/// Shared extensions merged into each Flow request before middleware runs.
#[derive(Debug, Clone, Default)]
pub struct FlowExtensions(pub BTreeMap<String, Value>);

impl FlowExtensions {
    pub fn insert(&mut self, key: impl Into<String>, value: Value) {
        self.0.insert(key.into(), value);
    }

    pub fn merge_into(&self, req: &mut crate::core::FlowRequest) {
        for (k, v) in &self.0 {
            req.extensions.entry(k.clone()).or_insert_with(|| v.clone());
        }
    }
}