Struct relay_event_schema::protocol::Csp

source ·
pub struct Csp {
Show 13 fields pub effective_directive: Annotated<String>, pub blocked_uri: Annotated<String>, pub document_uri: Annotated<String>, pub original_policy: Annotated<String>, pub referrer: Annotated<String>, pub status_code: Annotated<u64>, pub violated_directive: Annotated<String>, pub source_file: Annotated<String>, pub line_number: Annotated<u64>, pub column_number: Annotated<u64>, pub script_sample: Annotated<String>, pub disposition: Annotated<String>, pub other: Object<Value>,
}
Expand description

Models the content of a CSP report.

Note this models the older CSP reports (report-uri policy directive). The new CSP reports (using report-to policy directive) are different.

NOTE: This is the structure used inside the Event (serialization is based on Annotated infrastructure). We also use a version of this structure to deserialize from raw JSON via serde.

See https://www.w3.org/TR/CSP3/

Fields§

§effective_directive: Annotated<String>

The directive whose enforcement caused the violation.

§blocked_uri: Annotated<String>

The URI of the resource that was blocked from loading by the Content Security Policy.

§document_uri: Annotated<String>

The URI of the document in which the violation occurred.

§original_policy: Annotated<String>

The original policy as specified by the Content-Security-Policy HTTP header.

§referrer: Annotated<String>

The referrer of the document in which the violation occurred.

§status_code: Annotated<u64>

The HTTP status code of the resource on which the global object was instantiated.

§violated_directive: Annotated<String>

The name of the policy section that was violated.

§source_file: Annotated<String>

The URL of the resource where the violation occurred.

§line_number: Annotated<u64>

The line number in source-file on which the violation occurred.

§column_number: Annotated<u64>

The column number in source-file on which the violation occurred.

§script_sample: Annotated<String>

The first 40 characters of the inline script, event handler, or style that caused the violation.

§disposition: Annotated<String>

Policy disposition (enforce or report).

§other: Object<Value>

Additional arbitrary fields for forwards compatibility.

Implementations§

source§

impl Csp

source

pub fn apply_to_event(data: &[u8], event: &mut Event) -> Result<(), Error>

Trait Implementations§

source§

impl Clone for Csp

source§

fn clone(&self) -> Csp

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Csp

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Csp

source§

fn default() -> Csp

Returns the “default value” for a type. Read more
source§

impl Empty for Csp

source§

fn is_empty(&self) -> bool

Returns whether this value is empty.
source§

fn is_deep_empty(&self) -> bool

Returns whether this value is empty or all of its descendants are empty. Read more
source§

impl FromValue for Csp

source§

fn from_value(__value: Annotated<Value>) -> Annotated<Self>

Creates a meta structure from an annotated boxed value.
source§

impl IntoValue for Csp

source§

fn into_value(self) -> Value

Boxes the meta structure back into a value.
source§

fn serialize_payload<S>( &self, __serializer: S, __behavior: SkipSerialization, ) -> Result<S::Ok, S::Error>
where Self: Sized, S: Serializer,

Efficiently serializes the payload directly.
source§

fn extract_child_meta(&self) -> MetaMap
where Self: Sized,

Extracts children meta map out of a value.
§

fn extract_meta_tree(value: &Annotated<Self>) -> MetaTree
where Self: Sized,

Extracts the meta tree out of annotated value. Read more
source§

impl PartialEq for Csp

source§

fn eq(&self, other: &Csp) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl ProcessValue for Csp

source§

fn value_type(&self) -> EnumSet<ValueType>

Returns the type of the value.
source§

fn process_value<P>( &mut self, __meta: &mut Meta, __processor: &mut P, __state: &ProcessingState<'_>, ) -> ProcessingResult
where P: Processor,

Executes a processor on this value.
source§

fn process_child_values<P>( &mut self, __processor: &mut P, __state: &ProcessingState<'_>, ) -> ProcessingResult
where P: Processor,

Recurses into children of this value.
source§

impl StructuralPartialEq for Csp

Auto Trait Implementations§

§

impl Freeze for Csp

§

impl RefUnwindSafe for Csp

§

impl Send for Csp

§

impl Sync for Csp

§

impl Unpin for Csp

§

impl UnwindSafe for Csp

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V