pub struct ResponseValidator { /* private fields */ }Expand description
A compiled OpenAPI response validator.
Holds compiled JSON Schema validators for each (path, method, status_pattern, content_type) tuple. Created at config publish time from the OpenAPI spec’s response schemas.
Implementations§
Source§impl ResponseValidator
impl ResponseValidator
Sourcepub fn from_schemas(
schemas: HashMap<ResponseKey, Value>,
) -> Result<Self, String>
pub fn from_schemas( schemas: HashMap<ResponseKey, Value>, ) -> Result<Self, String>
Create a new validator from a map of compiled schemas.
Sourcepub fn from_schemas_strict(
schemas: HashMap<ResponseKey, Value>,
strict: bool,
) -> Result<Self, String>
pub fn from_schemas_strict( schemas: HashMap<ResponseKey, Value>, strict: bool, ) -> Result<Self, String>
Create a new validator from a map of compiled schemas with a strict mode flag.
Sourcepub fn from_openapi(doc: &Value) -> Result<Self, String>
pub fn from_openapi(doc: &Value) -> Result<Self, String>
Create a new validator from an OpenAPI document.
The document should be a parsed OpenAPI 3.x JSON value. This method extracts the response schemas for each (path, method, status_pattern, content_type) tuple and compiles them.
Sourcepub fn from_openapi_strict(doc: &Value, strict: bool) -> Result<Self, String>
pub fn from_openapi_strict(doc: &Value, strict: bool) -> Result<Self, String>
Create a new validator from an OpenAPI document with a strict mode flag.
Sourcepub fn validate(&self, response: &ResponseToValidate) -> ValidationResult
pub fn validate(&self, response: &ResponseToValidate) -> ValidationResult
Validate a response against its schema.
The lookup tries exact status, then family (2XX/4XX/5XX), then default. Within each status pattern, it tries the exact content type, then any content type. The first match wins.
Sourcepub fn schema_count(&self) -> usize
pub fn schema_count(&self) -> usize
The number of compiled schemas.
Trait Implementations§
Source§impl Clone for ResponseValidator
impl Clone for ResponseValidator
Source§fn clone(&self) -> ResponseValidator
fn clone(&self) -> ResponseValidator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ResponseValidator
impl !RefUnwindSafe for ResponseValidator
impl Send for ResponseValidator
impl Sync for ResponseValidator
impl Unpin for ResponseValidator
impl !UnwindSafe for ResponseValidator
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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