Struct hyper::header::ContentDisposition [] [src]

pub struct ContentDisposition {
    pub disposition: DispositionType,
    pub parameters: Vec<DispositionParam>,
}

A Content-Disposition header, (re)defined in RFC6266

The Content-Disposition response header field is used to convey additional information about how to process the response payload, and also can be used to attach additional metadata, such as the filename to use when saving the response payload locally.

ABNF

content-disposition = "Content-Disposition" ":"
                      disposition-type *( ";" disposition-parm )

disposition-type    = "inline" | "attachment" | disp-ext-type
                      ; case-insensitive

disp-ext-type       = token

disposition-parm    = filename-parm | disp-ext-parm

filename-parm       = "filename" "=" value
                    | "filename*" "=" ext-value

disp-ext-parm       = token "=" value
                    | ext-token "=" ext-value

ext-token           = <the characters in token, followed by "*">

Example

use hyper::header::{Headers, ContentDisposition, DispositionType, DispositionParam, Charset};

let mut headers = Headers::new();
headers.set(ContentDisposition {
    disposition: DispositionType::Attachment,
    parameters: vec![DispositionParam::Filename(
      Charset::Iso_8859_1, // The character set for the bytes of the filename
      None, // The optional language tag (see `language-tag` crate)
      b"\xa9 Copyright 1989.txt".to_vec() // the actual bytes of the filename
    )]
});

Fields

disposition: DispositionType

The disposition

parameters: Vec<DispositionParam>

Disposition parameters