hive_router_plan_executor/headers/
errors.rs1use hive_router_internal::expressions::vrl::prelude::ExpressionError;
2use http::header::{InvalidHeaderName, InvalidHeaderValue};
3use regex_automata::meta::BuildError;
4
5#[derive(thiserror::Error, Debug)]
6pub enum HeaderRuleCompileError {
7 #[error("Invalid header name '{0}'. Please check the configuration. Reason: {1}")]
8 BadHeaderName(String, InvalidHeaderName),
9 #[error("Invalid header value for header '{0}'. Please check the configuration. Reason: {1}")]
10 BadHeaderValue(String, InvalidHeaderValue),
11 #[error("The 'rename' option is only allowed when propagating a single header specified with 'named'. You cannot use 'rename' when propagating multiple headers or when using 'matching'.")]
12 InvalidRename,
13 #[error("The 'default' option is only allowed when propagating a single header specified with 'named'. You cannot use 'default' when propagating multiple headers or when using 'matching'.")]
14 InvalidDefault,
15 #[error("Failed to build regex for header matching. Please check your regex patterns for syntax errors. Reason: {0}")]
16 RegexBuild(#[from] Box<BuildError>),
17 #[error("Failed to compile VRL expression for header '{0}'. Please check your VRL expression for syntax errors. Diagnostic: {1}")]
18 ExpressionBuild(String, String),
19}
20
21#[derive(thiserror::Error, Debug, Clone)]
22pub enum HeaderRuleRuntimeError {
23 #[error("Failed to evaluate VRL expression for header '{0}'. Reason: {1}")]
24 ExpressionEvaluation(String, Box<ExpressionError>),
25 #[error("Invalid header value for header '{0}'.")]
26 BadHeaderValue(String),
27 #[error("Failed to convert VRL value to header value for '{0}': {1}")]
28 ValueConversion(String, String),
29}