pub struct ValidationConfig {
pub max_depth: usize,
pub max_complexity: usize,
pub max_aliases: usize,
pub max_root_fields: usize,
pub query_timeout: Option<Duration>,
pub disable_introspection: bool,
pub max_fragments: usize,
pub allowed_operations: Option<HashSet<String>>,
pub forbidden_fields: HashSet<String>,
pub enable_cost_analysis: bool,
}
Expand description
Configuration for query validation and security
Fields§
§max_depth: usize
Maximum allowed query depth
max_complexity: usize
Maximum allowed query complexity score
max_aliases: usize
Maximum number of aliases allowed
max_root_fields: usize
Maximum number of root fields
query_timeout: Option<Duration>
Enable query timeout
disable_introspection: bool
Disabled introspection queries
max_fragments: usize
Maximum number of fragments
allowed_operations: Option<HashSet<String>>
Whitelist of allowed operation names
forbidden_fields: HashSet<String>
Blacklist of forbidden field names
enable_cost_analysis: bool
Enable cost analysis
Trait Implementations§
Source§impl Clone for ValidationConfig
impl Clone for ValidationConfig
Source§fn clone(&self) -> ValidationConfig
fn clone(&self) -> ValidationConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ValidationConfig
impl Debug for ValidationConfig
Auto Trait Implementations§
impl Freeze for ValidationConfig
impl RefUnwindSafe for ValidationConfig
impl Send for ValidationConfig
impl Sync for ValidationConfig
impl Unpin for ValidationConfig
impl UnwindSafe for ValidationConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more