perimeterx-fastly-enforcer 2.2.2

PerimeterX Fastly Compute@Edge Rust Enforcer
Documentation
pub const APPLICATION_JSON: &str = "application/json";

// PerimeterX mobile headers
pub const MOBILE_SDK_HEADER: &str = "x-px-authorization";
pub const MOBILE_SDK_ORIGINAL_TOKEN_HEADER: &str = "x-px-original-token";
pub const RISK_API: &str = "/api/v3/risk";
pub const ACTIVITY_API: &str = "/api/v1/collector/s2s";
pub const ENFORCER_TRUE_IP_HEADER: &str = "X-PX-ENFORCER-TRUE-IP";
pub const FIRST_PARTY_MODE_HEADER: &str = "X-PX-FIRST-PARTY";
pub const FIRST_PARTY_HEADER_VALUE: &str = "1";
pub const TELEMETRY_HEADER: &str = "x-px-enforcer-telemetry";
pub const TELEMETRY_PATH: &str = "/api/v2/risk/telemetry";
pub const PX_MODULE_VERSION: &str = concat!("Fastly WASM v", env!("CARGO_PKG_VERSION"));
pub const PX_BACKUP_CAPTCHA_HOST: &str = "https://captcha.px-cloud.net";
pub const KEY_LEN: usize = 32;
pub const IV_LEN: usize = 16;
pub const DEFAULT_CONFIGSTORE_NAME: &str = "PXConfig";
pub const DEFAULT_SECRETSTORE_NAME: &str = "PXSecrets";
pub const GRAPHQL_BODY_MAX_LENGTH: usize = 1024 * 1024;
pub const MCP_SESSION_ID_HEADER: &str = "mcp-session-id";
pub const MCP_BODY_MAX_LENGTH: usize = 1024 * 1024;
pub const CUSTOM_COOKIE_HEADER: &str = "x-px-cookies";
pub const MCP_ENDPOINT_PATH: &str = "/mcp/";

pub const CI_BODY_MAX_LENGTH: usize = 10 * 1024 * 1024;
pub const DEFAULT_COMPROMISED_CREDENTIALS_HEADER: &str = "px-compromised-credentials";
pub const COMPROMISED_CREDENTIALS_HEADER_VALUE: &str = "1";
pub const ADDITIONAL_S2S_ACTIVITY_HEADER_NAME: &str = "px-additional-activity";
pub const ADDITIONAL_S2S_URL_HEADER_NAME: &str = "px-additional-activity-url";

pub const WHITELIST_EXT: &[&str] = &[
    ".css", ".bmp", ".tif", ".ttf", ".docx", ".woff2", ".js", ".pict", ".tiff", ".eot", ".xlsx",
    ".jpg", ".csv", ".eps", ".woff", ".xls", ".jpeg", ".doc", ".ejs", ".otf", ".pptx", ".gif",
    ".pdf", ".swf", ".svg", ".ps", ".ico", ".pls", ".midi", ".svgz", ".class", ".png", ".ppt",
    ".mid", ".webp", ".jar", ".json", ".xml",
];