Struct warp::test::RequestBuilder
source · pub struct RequestBuilder {
remote_addr: Option<SocketAddr>,
req: Request<Body>,
}
Expand description
A request builder for testing filters.
See module documentation for an overview.
Fields§
§remote_addr: Option<SocketAddr>
§req: Request<Body>
Implementations§
source§impl RequestBuilder
impl RequestBuilder
sourcepub fn remote_addr(self, addr: SocketAddr) -> Self
pub fn remote_addr(self, addr: SocketAddr) -> Self
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));
sourcepub fn body(self, body: impl AsRef<[u8]>) -> Self
pub fn body(self, body: impl AsRef<[u8]>) -> Self
Set the bytes of this request body.
Default is an empty body.
§Example
let req = warp::test::request()
.body("foo=bar&baz=quux");
sourcepub fn json(self, val: &impl Serialize) -> Self
pub fn json(self, val: &impl Serialize) -> Self
Set the bytes of this request body by serializing a value into JSON.
§Example
let req = warp::test::request()
.json(&true);
sourcepub async fn filter<F>(
self,
f: &F,
) -> Result<<F::Extract as OneOrTuple>::Output, F::Error>
pub async fn filter<F>( self, f: &F, ) -> Result<<F::Extract as OneOrTuple>::Output, F::Error>
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()
);
};
sourcepub async fn matches<F>(self, f: &F) -> bool
pub async fn matches<F>(self, f: &F) -> bool
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
);
};
sourcepub async fn reply<F>(self, f: &F) -> Response<Bytes>
pub async fn reply<F>(self, f: &F) -> Response<Bytes>
Returns Response
provided by applying the Filter
.
This requires that the supplied Filter
return a Reply
.
fn apply_filter<F>( self, f: &F, ) -> impl Future<Output = Result<F::Extract, F::Error>>
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for RequestBuilder
impl !RefUnwindSafe for RequestBuilder
impl Send for RequestBuilder
impl Sync for RequestBuilder
impl Unpin for RequestBuilder
impl !UnwindSafe for RequestBuilder
Blanket Implementations§
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