[][src]Struct actix_web::web::PathConfig

pub struct PathConfig { /* fields omitted */ }

Path extractor configuration

use actix_web::web::PathConfig;
use actix_web::{error, web, App, FromRequest, HttpResponse};

#[derive(Deserialize, Debug)]
enum Folder {
    #[serde(rename = "inbox")]
    Inbox,
    #[serde(rename = "outbox")]
    Outbox,
}

// deserialize `Info` from request's path
fn index(folder: web::Path<Folder>) -> String {
    format!("Selected folder: {:?}!", folder)
}

fn main() {
    let app = App::new().service(
        web::resource("/messages/{folder}")
            .data(PathConfig::default().error_handler(|err, req| {
                error::InternalError::from_response(
                    err,
                    HttpResponse::Conflict().finish(),
                )
                .into()
            }))
            .route(web::post().to(index)),
    );
}

Methods

impl PathConfig[src]

pub fn error_handler<F>(self, f: F) -> Self where
    F: Fn(PathError, &HttpRequest) -> Error + Send + Sync + 'static, 
[src]

Set custom error handler

Trait Implementations

impl Default for PathConfig[src]

impl Clone for PathConfig[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Unpin for PathConfig

impl Sync for PathConfig

impl Send for PathConfig

impl !UnwindSafe for PathConfig

impl !RefUnwindSafe for PathConfig

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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

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

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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> Erased for T

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