Struct multipart::server::iron::Intercept [] [src]

pub struct Intercept {
    pub temp_dir_path: Option<PathBuf>,
    pub file_size_limit: u64,
    pub file_count_limit: u32,
    pub limit_behavior: LimitBehavior,
}

A BeforeMiddleware for Iron which will intercept and read-out multipart requests and store the result in the request.

Successful reads will be placed in the extensions: TypeMap field of iron::Request as an Entries instance (as both key-type and value):

extern crate iron;
extern crate multipart;

use iron::prelude::*;

use multipart::server::Entries;
use multipart::server::iron::Intercept;

fn main() {
    let mut chain = Chain::new(|req: &mut Request| if let Some(entries) =
        req.extensions.get::<Entries>() {
         
        Ok(Response::with(format!("{:?}", entries)))
    } else {
        Ok(Response::with("Not a multipart request"))
    });

    chain.link_before(Intercept::default());

    Iron::new(chain).http("localhost:80").unwrap();
}

Any errors during which occur during reading will be passed on as IronError.

Fields

The parent directory for all temporary directories created by this middleware. Will be created if it doesn't exist (lazy).

If omitted, uses the OS temporary directory.

Default value: None.

The size limit of uploaded files, in bytes.

Files which exceed this size will be rejected. See the limit_behavior field for more info.

Default value: DEFAULT_FILE_SIZE_LIMIT

The limit on the number of files which will be saved from the request. Requests which exceed this count will be rejected.

Default value: DEFAULT_FILE_COUNT_LIMT

What to do when a file count or size limit has been exceeded.

See LimitBehavior for more info.

Methods

impl Intercept
[src]

[src]

Set the temp_dir_path for this middleware.

[src]

Set the file_size_limit for this middleware.

[src]

Set the file_count_limit for this middleware.

[src]

Set the limit_behavior for this middleware.

Trait Implementations

impl Debug for Intercept
[src]

[src]

Formats the value using the given formatter.

impl Default for Intercept
[src]

[src]

Returns the "default value" for a type. Read more

impl BeforeMiddleware for Intercept
[src]

[src]

Do whatever work this middleware should do with a Request object.

[src]

Respond to an error thrown by a previous BeforeMiddleware. Read more