[][src]Struct warp::test::RequestBuilder

#[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.

Methods

impl RequestBuilder[src]

pub fn method(self, method: &str) -> Self[src]

Sets the method of this builder.

The default if not set is GET.

Example

let req = warp::test::request()
    .method("POST");

Panic

This panics if the passed string is not able to be parsed as a valid Method.

pub fn path(self, p: &str) -> Self[src]

Sets the request path of this builder.

The default is not set is /.

Example

let req = warp::test::request()
    .path("/todos/33");

Panic

This panics if the passed string is not able to be parsed as a valid Uri.

pub fn header<K, V>(self, key: K, value: V) -> Self where
    HeaderName: TryFrom<K>,
    HeaderValue: TryFrom<V>, 
[src]

Set a header for this request.

Example

let req = warp::test::request()
    .header("accept", "application/json");

Panic

This panics if the passed strings are not able to be parsed as a valid HeaderName and HeaderValue.

pub fn extension<T>(self, ext: T) -> Self where
    T: Send + Sync + 'static, 
[src]

Add a type to the request's http::Extensions.

pub fn body(self, body: impl AsRef<[u8]>) -> Self[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) -> Self[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::Extract as OneOrTuple>::Output, F::Error> where
    F: Filter,
    F::Future: Send + 'static,
    F::Extract: OneOrTuple + Send + 'static,
    F::Error: Send + '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(&param)
        .await
        .unwrap();

    assert_eq!(ex, 41);

    assert!(
        warp::test::request()
            .path("/foo")
            .filter(&param)
            .await
            .is_err()
    );
};

pub async fn matches<'_, F>(self, f: &'_ F) -> bool where
    F: Filter,
    F::Future: Send + 'static,
    F::Extract: Send + 'static,
    F::Error: Send + '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::Extract: Reply + Send,
    F::Error: IsReject + Send
[src]

Returns Response provided by applying the Filter.

This requires that the supplied Filter return a Reply.

Trait Implementations

impl Debug for RequestBuilder[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,