unobtanium 3.0.0

Opinioated Web search engine library with crawler and viewer companion.
Documentation
use mediatype::MediaTypeBuf;
use mediatype::Name;
use mediatype::Value;
use mediatype::ReadParams;

/// Sorts the mimetypes parameters and calls [canonicalize()][MediaTypeBuf::canonicalize]
/// to produce a normalized mimetype struct that is more suitable for direct comparing.
pub fn normalize_mimetype(mime: &MediaTypeBuf) -> MediaTypeBuf {
	let mut params: Vec<(Name,Value)> = Vec::new();
	for p in mime.params() {
		params.push(p);
	}
	params.sort_by_key(|p| p.0);
	let new_mime = MediaTypeBuf::from_parts(
		mime.ty(),
		mime.subty(),
		mime.suffix(),
		params.as_ref()
	);
	return new_mime.canonicalize();
}