use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Signal {
pub kind: SignalKind,
pub evidence: String,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub rfc_basis: Option<String>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum SignalKind {
StatusCodeDiff,
HeaderPresence,
HeaderValue,
BodyDiff,
TimingDiff,
MetadataLeak,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum ImpactClass {
Low,
Medium,
High,
}