pub struct MockAction {
pub status: u16,
pub headers: BTreeMap<String, String>,
pub body: Option<String>,
pub body_file: Option<String>,
pub delay_ms: Option<u32>,
}Expand description
A canned response served without any upstream contact (DW-047,
routes[].action.mock). The body comes from either body (an
inline string) or body_file (a path relative to the config file
directory); exactly one of the two may be set, or neither for an
empty body. delay_ms simulates latency (useful for testing
timeouts and retries against a mock). Validation rejects a status
outside 100..=599, a delay_ms above 30000, and setting both
body and body_file.
Fields§
§status: u16HTTP status code (100..=599).
headers: BTreeMap<String, String>Extra response headers (name -> value), emitted verbatim. When
content-type is not set here, the gateway defaults it to
application/json if the body parses as JSON, else text/plain.
body: Option<String>Inline response body. Mutually exclusive with body_file.
body_file: Option<String>Path to a file whose contents are served as the body, read at
config publish time (the bytes are held in the snapshot). The
path is relative to the config file directory. Mutually
exclusive with body.
delay_ms: Option<u32>Simulated latency in milliseconds (0..=30000). The response is delayed by this long before the status/headers/body are sent.
Trait Implementations§
Source§impl Clone for MockAction
impl Clone for MockAction
Source§fn clone(&self) -> MockAction
fn clone(&self) -> MockAction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MockAction
impl Debug for MockAction
Source§impl<'de> Deserialize<'de> for MockAction
impl<'de> Deserialize<'de> for MockAction
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for MockAction
impl JsonSchema for MockAction
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for MockAction
impl PartialEq for MockAction
Source§impl Serialize for MockAction
impl Serialize for MockAction
impl StructuralPartialEq for MockAction
Auto Trait Implementations§
impl Freeze for MockAction
impl RefUnwindSafe for MockAction
impl Send for MockAction
impl Sync for MockAction
impl Unpin for MockAction
impl UnwindSafe for MockAction
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