mime-sniffer travis build crate

Detecting mime types base on content sniffer.

Document

The detection workflow was copied from Chromium

For more detail, please read How Mozilla determines MIME Types.

Usage

To use mime-sniffer, first add this to your Cargo.toml:

toml [dependencies] mime_sniffer = "^0.1"

Then, add this to your crate root:

```rust extern crate mime_sniffer;

use mime_sniffer::MimeTypeSniffer; ```

And then, use hash function with module or hasher

```rust use mime_sniffer::MimeTypeSniffer;

asserteq!(Some("application/pdf"), b"%PDF-1.5".sniffmime_type()); ```

Examples

```rust extern crate url; extern crate mime_sniffer;

use url::Url;

use mime_sniffer::{HttpRequest, MimeTypeSniffer, MimeTypeSniffable};

let url = Url::parse("http://localhost/notes.ppt").unwrap(); let req = HttpRequest { content: b"\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1", url: &url, type_hint: "text/plain", };

assert!(req.shouldsniffmimetype()); asserteq!(Some("application/vnd.ms-powerpoint"), req.sniffmimetype()); ```

Related