[][src]Struct rocket::config::Limits

pub struct Limits { /* fields omitted */ }

Mapping from data type to size limits.

A Limits structure contains a mapping from a given data type ("forms", "json", and so on) to the maximum size in bytes that should be accepted by a Rocket application for that data type. For instance, if the limit for "forms" is set to 256, only 256 bytes from an incoming form request will be read.

Defaults

As documented in config, the default limits are as follows:

  • forms: 32KiB

Usage

A Limits structure is created following the builder pattern:

use rocket::config::Limits;

// Set a limit of 64KiB for forms and 3MiB for JSON.
let limits = Limits::new()
    .limit("forms", 64 * 1024)
    .limit("json", 3 * 1024 * 1024);

Methods

impl Limits[src]

pub fn new() -> Self[src]

Construct a new Limits structure with the default limits set.

Example

use rocket::config::Limits;

let limits = Limits::new();
assert_eq!(limits.get("forms"), Some(32 * 1024));

pub fn limit<S: Into<String>>(self, name: S, limit: u64) -> Self[src]

Adds or replaces a limit in self, consuming self and returning a new Limits structure with the added or replaced limit.

Example

use rocket::config::Limits;

let limits = Limits::new()
    .limit("json", 1 * 1024 * 1024);

assert_eq!(limits.get("forms"), Some(32 * 1024));
assert_eq!(limits.get("json"), Some(1 * 1024 * 1024));

let new_limits = limits.limit("json", 64 * 1024 * 1024);
assert_eq!(new_limits.get("json"), Some(64 * 1024 * 1024));

pub fn get(&self, name: &str) -> Option<u64>[src]

Retrieve the set limit, if any, for the data type with name name.

Example

use rocket::config::Limits;

let limits = Limits::new()
    .limit("json", 64 * 1024 * 1024);

assert_eq!(limits.get("forms"), Some(32 * 1024));
assert_eq!(limits.get("json"), Some(64 * 1024 * 1024));
assert!(limits.get("msgpack").is_none());

Trait Implementations

impl Default for Limits[src]

impl Clone for Limits[src]

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

Performs copy-assignment from source. Read more

impl Display for Limits[src]

impl Debug for Limits[src]

Auto Trait Implementations

impl Send for Limits

impl Sync for Limits

Blanket Implementations

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

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

type Owned = T

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

impl<T, U> TryInto 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> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<T> IntoCollection for T[src]

impl<T, I> AsResult for T where
    I: Input
[src]