pub struct PreStep {
pub url: UrlOrRule,
pub method: Method,
pub body: Option<UrlOrRule>,
pub headers: HashMap<String, String>,
pub capture: Vec<Capture>,
pub skip_if_present: Vec<String>,
}Expand description
前置请求链中的一步:一个请求 + 其响应上的有序命名捕获(见 design D7-bis)。
本步 url/headers/body 可引用更早步骤捕获的 {{name}}。显式列字段(不用 #[serde(flatten)]
内嵌 Request:Rule 为 untagged 兜底,flatten 会令 deny_unknown_fields 校验失效)。
Fields§
§url: UrlOrRule§method: Method§body: Option<UrlOrRule>§headers: HashMap<String, String>请求头(值支持 {{name}} 模板,便于带 Authorization: Bearer {{token}})。
capture: Vec<Capture>本步响应上的有序命名捕获(按数组顺序求值;capture[i] 可引用 capture[0..i])。
skip_if_present: Vec<String>惰性短路:列出的 key 在作用域内全部非空则跳过本步(token 复用,避免每章重抓)。
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PreStep
impl<'de> Deserialize<'de> for PreStep
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for PreStep
impl StructuralPartialEq for PreStep
Auto Trait Implementations§
impl Freeze for PreStep
impl RefUnwindSafe for PreStep
impl Send for PreStep
impl Sync for PreStep
impl Unpin for PreStep
impl UnsafeUnpin for PreStep
impl UnwindSafe for PreStep
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.