rocket_http/header/
known_media_types.rs

1macro_rules! known_media_types {
2    ($cont:ident) => ($cont! {
3        Any (is_any): "any media type", "*", "*",
4        Binary (is_binary): "binary data", "application", "octet-stream",
5        Bytes (is_bytes): "binary data", "application", "octet-stream",
6        HTML (is_html): "HTML", "text", "html" ; "charset" => "utf-8",
7        Plain (is_plain): "plain text", "text", "plain" ; "charset" => "utf-8",
8        Text (is_text): "plain text", "text", "plain" ; "charset" => "utf-8",
9        JSON (is_json): "JSON", "application", "json",
10        MsgPack (is_msgpack): "MsgPack", "application", "msgpack",
11        Form (is_form): "forms", "application", "x-www-form-urlencoded",
12        JavaScript (is_javascript): "JavaScript", "text", "javascript",
13        CSS (is_css): "CSS", "text", "css" ; "charset" => "utf-8",
14        FormData (is_form_data): "multipart form data", "multipart", "form-data",
15        XML (is_xml): "XML", "text", "xml" ; "charset" => "utf-8",
16        OPF (is_opf): "OPF", "application", "oebps-package+xml",
17        XHTML (is_xhtml): "XHTML", "application", "xhtml+xml",
18        CSV (is_csv): "CSV", "text", "csv" ; "charset" => "utf-8",
19        PNG (is_png): "PNG", "image", "png",
20        GIF (is_gif): "GIF", "image", "gif",
21        BMP (is_bmp): "BMP", "image", "bmp",
22        JPEG (is_jpeg): "JPEG", "image", "jpeg",
23        WEBP (is_webp): "WEBP", "image", "webp",
24        AVIF (is_avif): "AVIF", "image", "avif",
25        SVG (is_svg): "SVG", "image", "svg+xml",
26        Icon (is_icon): "Icon", "image", "x-icon",
27        WEBM (is_webm): "WEBM", "video", "webm",
28        WEBA (is_weba): "WEBM Audio", "audio", "webm",
29        OGG (is_ogg): "OGG Video", "video", "ogg",
30        FLAC (is_flac): "FLAC", "audio", "flac",
31        WAV (is_wav): "WAV", "audio", "wav",
32        PDF (is_pdf): "PDF", "application", "pdf",
33        TTF (is_ttf): "TTF", "application", "font-sfnt",
34        OTF (is_otf): "OTF", "application", "font-sfnt",
35        WOFF (is_woff): "WOFF", "application", "font-woff",
36        WOFF2 (is_woff2): "WOFF2", "font", "woff2",
37        JsonApi (is_json_api): "JSON API", "application", "vnd.api+json",
38        WASM (is_wasm): "WASM", "application", "wasm",
39        TIFF (is_tiff): "TIFF", "image", "tiff",
40        AAC (is_aac): "AAC Audio", "audio", "aac",
41        Calendar (is_ical): "iCalendar", "text", "calendar",
42        MPEG (is_mpeg): "MPEG Video", "video", "mpeg",
43        TAR (is_tar): "tape archive", "application", "x-tar",
44        GZIP (is_gzip): "gzipped binary", "application", "gzip",
45        MOV (is_mov): "quicktime video", "video", "quicktime",
46        MP3 (is_mp3): "MPEG Audio", "audio", "mpeg",
47        MP4 (is_mp4): "MPEG4 Video", "video", "mp4",
48        ZIP (is_zip): "ZIP archive", "application", "zip",
49        CBZ (is_cbz): "Comic ZIP archive", "application", "vnd.comicbook+zip",
50        CBR (is_cbr): "Comic RAR compressed archive", "application", "vnd.comicbook-rar",
51        RAR (is_rar): "RAR compressed archive", "application", "vnd.rar",
52        EPUB (is_epub): "EPUB", "application", "epub+zip",
53        EventStream (is_event_stream): "SSE stream", "text", "event-stream",
54        Markdown (is_markdown): "markdown text", "text", "markdown" ; "charset" => "utf-8",
55        EXE (is_exe): "executable", "application", "vnd.microsoft.portable-executable",
56    })
57}
58
59macro_rules! known_extensions {
60    ($cont:ident) => ($cont! {
61        "txt" => Plain,
62        "html" => HTML,
63        "htm" => HTML,
64        "xml" => XML,
65        "opf" => OPF,
66        "xhtml" => XHTML,
67        "csv" => CSV,
68        "js" => JavaScript,
69        "mjs" => JavaScript,
70        "css" => CSS,
71        "json" => JSON,
72        "png" => PNG,
73        "gif" => GIF,
74        "bmp" => BMP,
75        "jpeg" => JPEG,
76        "jpg" => JPEG,
77        "webp" => WEBP,
78        "avif" => AVIF,
79        "svg" => SVG,
80        "ico" => Icon,
81        "flac" => FLAC,
82        "wav" => WAV,
83        "webm" => WEBM,
84        "weba" => WEBA,
85        "ogg" => OGG,
86        "ogv" => OGG,
87        "pdf" => PDF,
88        "ttf" => TTF,
89        "otf" => OTF,
90        "woff" => WOFF,
91        "woff2" => WOFF2,
92        "mp3" => MP3,
93        "mp4" => MP4,
94        "mpeg4" => MP4,
95        "wasm" => WASM,
96        "aac" => AAC,
97        "ics" => Calendar,
98        "bin" => Binary,
99        "iso" => Binary,
100        "dmg" => Binary,
101        "mpg" => MPEG,
102        "mpeg" => MPEG,
103        "tar" => TAR,
104        "gz" => GZIP,
105        "tif" => TIFF,
106        "tiff" => TIFF,
107        "mov" => MOV,
108        "zip" => ZIP,
109        "cbz" => CBZ,
110        "cbr" => CBR,
111        "rar" => RAR,
112        "epub" => EPUB,
113        "md" => Markdown,
114        "markdown" => Markdown,
115        "exe" => EXE,
116    })
117}
118
119macro_rules! known_shorthands {
120    ($cont:ident) => ($cont! {
121        "any" => Any,
122        "binary" => Binary,
123        "bytes" => Bytes,
124        "html" => HTML,
125        "plain" => Plain,
126        "text" => Text,
127        "json" => JSON,
128        "msgpack" => MsgPack,
129        "form" => Form,
130        "js" => JavaScript,
131        "css" => CSS,
132        "multipart" => FormData,
133        "xml" => XML,
134        "pdf" => PDF,
135        "markdown" => Markdown,
136        "md" => Markdown,
137    })
138}