Struct rweb::test::RequestBuilder [−][src]
pub struct RequestBuilder { /* fields omitted */ }
Expand description
A request builder for testing filters.
See module documentation for an overview.
Implementations
pub fn header<K, V>(self, key: K, value: V) -> RequestBuilder where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
pub fn header<K, V>(self, key: K, value: V) -> RequestBuilder where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
Set the remote address of this request
Default is no remote address.
Example
use std::net::{IpAddr, Ipv4Addr, SocketAddr}; let req = warp::test::request() .remote_addr(SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080));
Add a type to the request’s http::Extensions
.
Set the bytes of this request body.
Default is an empty body.
Example
let req = warp::test::request() .body("foo=bar&baz=quux");
Set the bytes of this request body by serializing a value into JSON.
Example
let req = warp::test::request() .json(&true);
pub async fn filter<F>(
self,
f: &'_ F
) -> Result<<<F as FilterBase>::Extract as OneOrTuple>::Output, <F as FilterBase>::Error> where
F: Filter,
<F as FilterBase>::Future: Send,
<F as FilterBase>::Future: 'static,
<F as FilterBase>::Extract: OneOrTuple,
<F as FilterBase>::Extract: Send,
<F as FilterBase>::Extract: 'static,
<F as FilterBase>::Error: Send,
<F as FilterBase>::Error: 'static,
pub async fn filter<F>(
self,
f: &'_ F
) -> Result<<<F as FilterBase>::Extract as OneOrTuple>::Output, <F as FilterBase>::Error> where
F: Filter,
<F as FilterBase>::Future: Send,
<F as FilterBase>::Future: 'static,
<F as FilterBase>::Extract: OneOrTuple,
<F as FilterBase>::Extract: Send,
<F as FilterBase>::Extract: 'static,
<F as FilterBase>::Error: Send,
<F as FilterBase>::Error: 'static,
Tries to apply the Filter
on this request.
Example
async { let param = warp::path::param::<u32>(); let ex = warp::test::request() .path("/41") .filter(¶m) .await .unwrap(); assert_eq!(ex, 41); assert!( warp::test::request() .path("/foo") .filter(¶m) .await .is_err() ); };
Returns whether the Filter
matches this request, or rejects it.
Example
async { let get = warp::get(); let post = warp::post(); assert!( warp::test::request() .method("GET") .matches(&get) .await ); assert!( !warp::test::request() .method("GET") .matches(&post) .await ); };
Returns Response
provided by applying the Filter
.
This requires that the supplied Filter
return a Reply
.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for RequestBuilder
impl Send for RequestBuilder
impl Sync for RequestBuilder
impl Unpin for RequestBuilder
impl !UnwindSafe for RequestBuilder
Blanket Implementations
Mutably borrows from an owned value. Read more
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V