Struct choices::warp::test::RequestBuilder [−][src]
#[must_use = "RequestBuilder does nothing on its own"]pub struct RequestBuilder { /* fields omitted */ }
A request builder for testing filters.
See module documentation for an overview.
Implementations
impl RequestBuilder
[src]
impl RequestBuilder
[src]pub fn method(self, method: &str) -> RequestBuilder
[src]
pub fn method(self, method: &str) -> RequestBuilder
[src]pub fn path(self, p: &str) -> RequestBuilder
[src]
pub fn path(self, p: &str) -> RequestBuilder
[src]pub fn header<K, V>(self, key: K, value: V) -> RequestBuilder where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
[src]
pub fn header<K, V>(self, key: K, value: V) -> RequestBuilder where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
[src]pub fn remote_addr(self, addr: SocketAddr) -> RequestBuilder
[src]
pub fn remote_addr(self, addr: SocketAddr) -> RequestBuilder
[src]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));
pub fn extension<T>(self, ext: T) -> RequestBuilder where
T: Send + Sync + 'static,
[src]
pub fn extension<T>(self, ext: T) -> RequestBuilder where
T: Send + Sync + 'static,
[src]Add a type to the request’s http::Extensions
.
pub fn body(self, body: impl AsRef<[u8]>) -> RequestBuilder
[src]
pub fn body(self, body: impl AsRef<[u8]>) -> RequestBuilder
[src]Set the bytes of this request body.
Default is an empty body.
Example
let req = warp::test::request() .body("foo=bar&baz=quux");
pub fn json(self, val: &impl Serialize) -> RequestBuilder
[src]
pub fn json(self, val: &impl Serialize) -> RequestBuilder
[src]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,
[src]
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,
[src]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() ); };
pub async fn matches<F>(self, f: &'_ F) -> bool where
F: Filter,
<F as FilterBase>::Future: Send,
<F as FilterBase>::Future: 'static,
<F as FilterBase>::Extract: Send,
<F as FilterBase>::Extract: 'static,
<F as FilterBase>::Error: Send,
<F as FilterBase>::Error: 'static,
[src]
pub async fn matches<F>(self, f: &'_ F) -> bool where
F: Filter,
<F as FilterBase>::Future: Send,
<F as FilterBase>::Future: 'static,
<F as FilterBase>::Extract: Send,
<F as FilterBase>::Extract: 'static,
<F as FilterBase>::Error: Send,
<F as FilterBase>::Error: 'static,
[src]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 ); };
pub async fn reply<F>(self, f: &'_ F) -> Response<Bytes> where
F: Filter + 'static,
<F as FilterBase>::Extract: Reply,
<F as FilterBase>::Extract: Send,
<F as FilterBase>::Error: IsReject,
<F as FilterBase>::Error: Send,
[src]
pub async fn reply<F>(self, f: &'_ F) -> Response<Bytes> where
F: Filter + 'static,
<F as FilterBase>::Extract: Reply,
<F as FilterBase>::Extract: Send,
<F as FilterBase>::Error: IsReject,
<F as FilterBase>::Error: Send,
[src]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
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]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;
[src]
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;
[src]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;
[src]
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;
[src]impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]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;
[src]
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;
[src]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;
[src]
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;
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,