Типы Медиа
Получение MIME типа из строки
Этот пример показывает, как осуществить разбор в тип MIME
из некоторой строки при помощи функций из крейта mime. FromStrError
выводит MIME
тип по умолчанию для параметра, переданного в unwrap_or
.
extern crate mime;
use mime::{Mime, APPLICATION_OCTET_STREAM};
fn main() {
let invalid_mime_type = "i n v a l i d";
let default_mime = invalid_mime_type
.parse::<Mime>()
.unwrap_or(APPLICATION_OCTET_STREAM);
println!(
"MIME for {:?} used default value {:?}",
invalid_mime_type, default_mime
);
let valid_mime_type = "TEXT/PLAIN";
let parsed_mime = valid_mime_type
.parse::<Mime>()
.unwrap_or(APPLICATION_OCTET_STREAM);
println!(
"MIME for {:?} was parsed as {:?}",
valid_mime_type, parsed_mime
);
}
Получение MIME типа из строки
Этот пример показывает, как осуществить разбор в тип MIME
из некоторой строки при помощи функций из крейта mime. FromStrError
выводит MIME
тип по умолчанию для параметра, переданного в unwrap_or
.
extern crate mime;
use mime::{Mime, APPLICATION_OCTET_STREAM};
fn main() {
let invalid_mime_type = "i n v a l i d";
let default_mime = invalid_mime_type
.parse::<Mime>()
.unwrap_or(APPLICATION_OCTET_STREAM);
println!(
"MIME for {:?} used default value {:?}",
invalid_mime_type, default_mime
);
let valid_mime_type = "TEXT/PLAIN";
let parsed_mime = valid_mime_type
.parse::<Mime>()
.unwrap_or(APPLICATION_OCTET_STREAM);
println!(
"MIME for {:?} was parsed as {:?}",
valid_mime_type, parsed_mime
);
}
Разбор MIME типа из HTTP ответа
В ответе запроса по HTTP через reqwest
найти MIME type-тип или тип мультимедиа может быть возможно через заголовок Content-Type. reqwest::header::HeaderMap::get
разбирает содержимое заголовка и делает любое значение доступным как reqwest::header::HeaderValue
, которое может быть преобразовано в строку. Крейт mime
может затем произвести разбор этой строки и выдать значение типа mime::Mime
.
Крейт mime
также определяет широко используемые типы MIME.
Заметим, что модуль reqwest::header
экспортируется из крейта http
.