//! Refuse unsupported rg flags before worker admission.
use super::super::parser::{self, Plan, Refused};
use crate::serve::storage::Failure;
pub(super) fn parsed(text: &str) -> Result<Result<Plan, Refused>, Failure> {
let parsed = parser::pipeline(text);
if let Err(
refusal @ (Refused::Percentile(..) | Refused::Flag(..) | Refused::WholeRecords(..)),
) = &parsed
{
return Err(Failure::new(refusal.code(), refusal.to_string()));
}
Ok(parsed)
}
#[cfg(test)]
#[path = "rg_tests.rs"]
mod rg_tests;