wafrift-types 0.2.13

Core types for WAF Rift — Request, Technique, EvasionResult, Config, Error.
Documentation
use crate::Method;
use crate::injection_context::InjectionContext;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct DiscoveredEndpoint {
    pub url: String,
    pub method: Method,
    pub injection_points: Vec<InjectionPoint>,
    pub source: DiscoverySource,
}

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct InjectionPoint {
    pub name: String,
    pub location: ParameterLocation,
    pub context: InjectionContext,
    pub content_type_hint: Option<String>,
    pub required: bool,
}

#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
pub enum ParameterLocation {
    Query,
    Header,
    Path,
    Body,
    Cookie,
}

#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
pub enum DiscoverySource {
    OpenApi,
    GraphQlIntrospection,
    ParamMining,
    HarFile,
}