iodine 0.4.19 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of iodine might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +1 -2
- data/CHANGELOG.md +22 -0
- data/LIMITS.md +19 -9
- data/README.md +92 -77
- data/SPEC-PubSub-Draft.md +113 -0
- data/SPEC-Websocket-Draft.md +127 -143
- data/bin/http-hello +0 -1
- data/bin/raw-rbhttp +1 -1
- data/bin/raw_broadcast +8 -10
- data/bin/updated api +2 -2
- data/bin/ws-broadcast +2 -4
- data/bin/ws-echo +2 -2
- data/examples/config.ru +13 -13
- data/examples/echo.ru +5 -6
- data/examples/hello.ru +2 -3
- data/examples/info.md +316 -0
- data/examples/pubsub_engine.ru +81 -0
- data/examples/redis.ru +9 -9
- data/examples/shootout.ru +45 -11
- data/ext/iodine/defer.c +194 -297
- data/ext/iodine/defer.h +61 -53
- data/ext/iodine/evio.c +0 -260
- data/ext/iodine/evio.h +50 -22
- data/ext/iodine/evio_callbacks.c +26 -0
- data/ext/iodine/evio_epoll.c +251 -0
- data/ext/iodine/evio_kqueue.c +193 -0
- data/ext/iodine/extconf.rb +1 -1
- data/ext/iodine/facil.c +1420 -542
- data/ext/iodine/facil.h +151 -64
- data/ext/iodine/fio_ary.h +418 -0
- data/ext/iodine/{base64.c → fio_base64.c} +33 -24
- data/ext/iodine/{base64.h → fio_base64.h} +6 -7
- data/ext/iodine/{fio_cli_helper.c → fio_cli.c} +77 -58
- data/ext/iodine/{fio_cli_helper.h → fio_cli.h} +9 -4
- data/ext/iodine/fio_hashmap.h +759 -0
- data/ext/iodine/fio_json_parser.h +651 -0
- data/ext/iodine/fio_llist.h +257 -0
- data/ext/iodine/fio_mem.c +672 -0
- data/ext/iodine/fio_mem.h +140 -0
- data/ext/iodine/fio_random.c +248 -0
- data/ext/iodine/{random.h → fio_random.h} +11 -14
- data/ext/iodine/{sha1.c → fio_sha1.c} +28 -24
- data/ext/iodine/{sha1.h → fio_sha1.h} +38 -16
- data/ext/iodine/{sha2.c → fio_sha2.c} +66 -49
- data/ext/iodine/{sha2.h → fio_sha2.h} +57 -26
- data/ext/iodine/{fiobj_internal.c → fio_siphash.c} +9 -90
- data/ext/iodine/fio_siphash.h +18 -0
- data/ext/iodine/fio_tmpfile.h +38 -0
- data/ext/iodine/fiobj.h +24 -7
- data/ext/iodine/fiobj4sock.h +23 -0
- data/ext/iodine/fiobj_ary.c +143 -226
- data/ext/iodine/fiobj_ary.h +17 -16
- data/ext/iodine/fiobj_data.c +1160 -0
- data/ext/iodine/fiobj_data.h +164 -0
- data/ext/iodine/fiobj_hash.c +298 -406
- data/ext/iodine/fiobj_hash.h +101 -54
- data/ext/iodine/fiobj_json.c +478 -601
- data/ext/iodine/fiobj_json.h +34 -9
- data/ext/iodine/fiobj_numbers.c +383 -51
- data/ext/iodine/fiobj_numbers.h +87 -11
- data/ext/iodine/fiobj_str.c +423 -184
- data/ext/iodine/fiobj_str.h +81 -32
- data/ext/iodine/fiobject.c +273 -522
- data/ext/iodine/fiobject.h +477 -112
- data/ext/iodine/http.c +2243 -83
- data/ext/iodine/http.h +842 -121
- data/ext/iodine/http1.c +810 -385
- data/ext/iodine/http1.h +16 -39
- data/ext/iodine/http1_parser.c +146 -74
- data/ext/iodine/http1_parser.h +15 -4
- data/ext/iodine/http_internal.c +1258 -0
- data/ext/iodine/http_internal.h +226 -0
- data/ext/iodine/http_mime_parser.h +341 -0
- data/ext/iodine/iodine.c +86 -68
- data/ext/iodine/iodine.h +26 -11
- data/ext/iodine/iodine_helpers.c +8 -7
- data/ext/iodine/iodine_http.c +487 -324
- data/ext/iodine/iodine_json.c +304 -0
- data/ext/iodine/iodine_json.h +6 -0
- data/ext/iodine/iodine_protocol.c +107 -45
- data/ext/iodine/iodine_pubsub.c +526 -225
- data/ext/iodine/iodine_pubsub.h +10 -0
- data/ext/iodine/iodine_websockets.c +268 -510
- data/ext/iodine/iodine_websockets.h +2 -4
- data/ext/iodine/pubsub.c +726 -432
- data/ext/iodine/pubsub.h +85 -103
- data/ext/iodine/rb-call.c +4 -4
- data/ext/iodine/rb-defer.c +46 -22
- data/ext/iodine/rb-fiobj2rb.h +117 -0
- data/ext/iodine/rb-rack-io.c +73 -238
- data/ext/iodine/rb-rack-io.h +2 -2
- data/ext/iodine/rb-registry.c +35 -93
- data/ext/iodine/rb-registry.h +1 -0
- data/ext/iodine/redis_engine.c +742 -304
- data/ext/iodine/redis_engine.h +42 -39
- data/ext/iodine/resp_parser.h +311 -0
- data/ext/iodine/sock.c +627 -490
- data/ext/iodine/sock.h +345 -297
- data/ext/iodine/spnlock.inc +15 -4
- data/ext/iodine/websocket_parser.h +16 -20
- data/ext/iodine/websockets.c +188 -257
- data/ext/iodine/websockets.h +24 -133
- data/lib/iodine.rb +52 -7
- data/lib/iodine/cli.rb +6 -24
- data/lib/iodine/json.rb +40 -0
- data/lib/iodine/version.rb +1 -1
- data/lib/iodine/websocket.rb +5 -3
- data/lib/rack/handler/iodine.rb +58 -13
- metadata +38 -48
- data/bin/ws-shootout +0 -107
- data/examples/broadcast.ru +0 -56
- data/ext/iodine/bscrypt-common.h +0 -116
- data/ext/iodine/bscrypt.h +0 -49
- data/ext/iodine/fio2resp.c +0 -60
- data/ext/iodine/fio2resp.h +0 -51
- data/ext/iodine/fio_dict.c +0 -446
- data/ext/iodine/fio_dict.h +0 -99
- data/ext/iodine/fio_hash_table.h +0 -370
- data/ext/iodine/fio_list.h +0 -111
- data/ext/iodine/fiobj_internal.h +0 -280
- data/ext/iodine/fiobj_primitives.c +0 -131
- data/ext/iodine/fiobj_primitives.h +0 -55
- data/ext/iodine/fiobj_sym.c +0 -135
- data/ext/iodine/fiobj_sym.h +0 -60
- data/ext/iodine/hex.c +0 -124
- data/ext/iodine/hex.h +0 -70
- data/ext/iodine/http1_request.c +0 -81
- data/ext/iodine/http1_request.h +0 -58
- data/ext/iodine/http1_response.c +0 -417
- data/ext/iodine/http1_response.h +0 -95
- data/ext/iodine/http_request.c +0 -111
- data/ext/iodine/http_request.h +0 -102
- data/ext/iodine/http_response.c +0 -1703
- data/ext/iodine/http_response.h +0 -250
- data/ext/iodine/misc.c +0 -182
- data/ext/iodine/misc.h +0 -74
- data/ext/iodine/random.c +0 -208
- data/ext/iodine/redis_connection.c +0 -278
- data/ext/iodine/redis_connection.h +0 -86
- data/ext/iodine/resp.c +0 -842
- data/ext/iodine/resp.h +0 -261
- data/ext/iodine/siphash.c +0 -154
- data/ext/iodine/siphash.h +0 -22
- data/ext/iodine/xor-crypt.c +0 -193
- data/ext/iodine/xor-crypt.h +0 -107
@@ -0,0 +1,1258 @@
|
|
1
|
+
/*
|
2
|
+
Copyright: Boaz Segev, 2016-2018
|
3
|
+
License: MIT
|
4
|
+
|
5
|
+
Feel free to copy, use and enjoy according to the license provided.
|
6
|
+
*/
|
7
|
+
#include "http_internal.h"
|
8
|
+
|
9
|
+
#include "fio_mem.h"
|
10
|
+
|
11
|
+
#include "http1.h"
|
12
|
+
|
13
|
+
/* *****************************************************************************
|
14
|
+
Internal Request / Response Handlers
|
15
|
+
***************************************************************************** */
|
16
|
+
|
17
|
+
static uint64_t http_upgrade_hash = 0;
|
18
|
+
/** Use this function to handle HTTP requests.*/
|
19
|
+
void http_on_request_handler______internal(http_s *h,
|
20
|
+
http_settings_s *settings) {
|
21
|
+
if (!http_upgrade_hash)
|
22
|
+
http_upgrade_hash = fio_siphash("upgrade", 7);
|
23
|
+
h->udata = settings->udata;
|
24
|
+
|
25
|
+
static uint64_t host_hash = 0;
|
26
|
+
if (!host_hash)
|
27
|
+
host_hash = fio_siphash("host", 4);
|
28
|
+
|
29
|
+
if (1) {
|
30
|
+
/* test for Host header and avoid duplicates */
|
31
|
+
FIOBJ tmp = fiobj_hash_get2(h->headers, host_hash);
|
32
|
+
if (!tmp)
|
33
|
+
http_send_error(h, 400);
|
34
|
+
if (FIOBJ_TYPE_IS(tmp, FIOBJ_T_ARRAY)) {
|
35
|
+
fiobj_hash_set(h->headers, HTTP_HEADER_HOST, fiobj_ary_pop(tmp));
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
FIOBJ t = fiobj_hash_get2(h->headers, http_upgrade_hash);
|
40
|
+
if (t)
|
41
|
+
goto upgrade;
|
42
|
+
|
43
|
+
if (fiobj_iseq(
|
44
|
+
fiobj_hash_get2(h->headers, fiobj_obj2hash(HTTP_HEADER_ACCEPT)),
|
45
|
+
HTTP_HVALUE_SSE_MIME))
|
46
|
+
goto eventsource;
|
47
|
+
if (settings->public_folder) {
|
48
|
+
fio_cstr_s path_str = fiobj_obj2cstr(h->path);
|
49
|
+
if (!http_sendfile2(h, settings->public_folder,
|
50
|
+
settings->public_folder_length, path_str.data,
|
51
|
+
path_str.len)) {
|
52
|
+
return;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
settings->on_request(h);
|
56
|
+
return;
|
57
|
+
|
58
|
+
upgrade:
|
59
|
+
if (1) {
|
60
|
+
fiobj_dup(t); /* allow upgrade name access after http_finish */
|
61
|
+
fio_cstr_s val = fiobj_obj2cstr(t);
|
62
|
+
if (val.data[0] == 'h' && val.data[1] == '2') {
|
63
|
+
http_send_error(h, 400);
|
64
|
+
} else {
|
65
|
+
settings->on_upgrade(h, val.data, val.len);
|
66
|
+
}
|
67
|
+
fiobj_free(t);
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
eventsource:
|
71
|
+
settings->on_upgrade(h, "sse", 3);
|
72
|
+
return;
|
73
|
+
}
|
74
|
+
|
75
|
+
void http_on_response_handler______internal(http_s *h,
|
76
|
+
http_settings_s *settings) {
|
77
|
+
if (!http_upgrade_hash)
|
78
|
+
http_upgrade_hash = fio_siphash("upgrade", 7);
|
79
|
+
h->udata = settings->udata;
|
80
|
+
FIOBJ t = fiobj_hash_get2(h->headers, http_upgrade_hash);
|
81
|
+
if (t == FIOBJ_INVALID) {
|
82
|
+
settings->on_response(h);
|
83
|
+
return;
|
84
|
+
} else {
|
85
|
+
fio_cstr_s val = fiobj_obj2cstr(t);
|
86
|
+
settings->on_upgrade(h, val.data, val.len);
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
/* *****************************************************************************
|
91
|
+
Internal helpers
|
92
|
+
***************************************************************************** */
|
93
|
+
|
94
|
+
int http_send_error2(size_t error, intptr_t uuid, http_settings_s *settings) {
|
95
|
+
if (!uuid || !settings || !error)
|
96
|
+
return -1;
|
97
|
+
protocol_s *pr = http1_new(uuid, settings, NULL, 0);
|
98
|
+
http_s *r = fio_malloc(sizeof(*r));
|
99
|
+
HTTP_ASSERT(pr, "Couldn't allocate response object for error report.")
|
100
|
+
http_s_new(r, (http_protocol_s *)pr, http1_vtable());
|
101
|
+
int ret = http_send_error(r, error);
|
102
|
+
sock_close(uuid);
|
103
|
+
return ret;
|
104
|
+
}
|
105
|
+
|
106
|
+
/* *****************************************************************************
|
107
|
+
Library initialization
|
108
|
+
***************************************************************************** */
|
109
|
+
|
110
|
+
FIOBJ HTTP_HEADER_ACCEPT;
|
111
|
+
FIOBJ HTTP_HEADER_ACCEPT_RANGES;
|
112
|
+
FIOBJ HTTP_HEADER_CACHE_CONTROL;
|
113
|
+
FIOBJ HTTP_HEADER_CONNECTION;
|
114
|
+
FIOBJ HTTP_HEADER_CONTENT_ENCODING;
|
115
|
+
FIOBJ HTTP_HEADER_CONTENT_LENGTH;
|
116
|
+
FIOBJ HTTP_HEADER_CONTENT_RANGE;
|
117
|
+
FIOBJ HTTP_HEADER_CONTENT_TYPE;
|
118
|
+
FIOBJ HTTP_HEADER_COOKIE;
|
119
|
+
FIOBJ HTTP_HEADER_DATE;
|
120
|
+
FIOBJ HTTP_HEADER_ETAG;
|
121
|
+
FIOBJ HTTP_HEADER_HOST;
|
122
|
+
FIOBJ HTTP_HEADER_LAST_MODIFIED;
|
123
|
+
FIOBJ HTTP_HEADER_ORIGIN;
|
124
|
+
FIOBJ HTTP_HEADER_SET_COOKIE;
|
125
|
+
FIOBJ HTTP_HEADER_UPGRADE;
|
126
|
+
FIOBJ HTTP_HEADER_WS_SEC_CLIENT_KEY;
|
127
|
+
FIOBJ HTTP_HEADER_WS_SEC_KEY;
|
128
|
+
FIOBJ HTTP_HVALUE_BYTES;
|
129
|
+
FIOBJ HTTP_HVALUE_CLOSE;
|
130
|
+
FIOBJ HTTP_HVALUE_CONTENT_TYPE_DEFAULT;
|
131
|
+
FIOBJ HTTP_HVALUE_GZIP;
|
132
|
+
FIOBJ HTTP_HVALUE_KEEP_ALIVE;
|
133
|
+
FIOBJ HTTP_HVALUE_MAX_AGE;
|
134
|
+
FIOBJ HTTP_HVALUE_NO_CACHE;
|
135
|
+
FIOBJ HTTP_HVALUE_WEBSOCKET;
|
136
|
+
FIOBJ HTTP_HVALUE_WS_SEC_VERSION;
|
137
|
+
FIOBJ HTTP_HVALUE_WS_UPGRADE;
|
138
|
+
FIOBJ HTTP_HVALUE_WS_VERSION;
|
139
|
+
FIOBJ HTTP_HVALUE_SSE_MIME;
|
140
|
+
|
141
|
+
void http_lib_cleanup(void) {
|
142
|
+
http_mimetype_clear();
|
143
|
+
#define HTTPLIB_RESET(x) \
|
144
|
+
fiobj_free(x); \
|
145
|
+
x = FIOBJ_INVALID;
|
146
|
+
HTTPLIB_RESET(HTTP_HEADER_ACCEPT);
|
147
|
+
HTTPLIB_RESET(HTTP_HEADER_ACCEPT_RANGES);
|
148
|
+
HTTPLIB_RESET(HTTP_HEADER_CACHE_CONTROL);
|
149
|
+
HTTPLIB_RESET(HTTP_HEADER_CONNECTION);
|
150
|
+
HTTPLIB_RESET(HTTP_HEADER_CONTENT_ENCODING);
|
151
|
+
HTTPLIB_RESET(HTTP_HEADER_CONTENT_LENGTH);
|
152
|
+
HTTPLIB_RESET(HTTP_HEADER_CONTENT_RANGE);
|
153
|
+
HTTPLIB_RESET(HTTP_HEADER_CONTENT_TYPE);
|
154
|
+
HTTPLIB_RESET(HTTP_HEADER_COOKIE);
|
155
|
+
HTTPLIB_RESET(HTTP_HEADER_DATE);
|
156
|
+
HTTPLIB_RESET(HTTP_HEADER_ETAG);
|
157
|
+
HTTPLIB_RESET(HTTP_HEADER_HOST);
|
158
|
+
HTTPLIB_RESET(HTTP_HVALUE_SSE_MIME);
|
159
|
+
HTTPLIB_RESET(HTTP_HEADER_LAST_MODIFIED);
|
160
|
+
HTTPLIB_RESET(HTTP_HEADER_ORIGIN);
|
161
|
+
HTTPLIB_RESET(HTTP_HEADER_SET_COOKIE);
|
162
|
+
HTTPLIB_RESET(HTTP_HEADER_UPGRADE);
|
163
|
+
HTTPLIB_RESET(HTTP_HEADER_WS_SEC_CLIENT_KEY);
|
164
|
+
HTTPLIB_RESET(HTTP_HEADER_WS_SEC_KEY);
|
165
|
+
HTTPLIB_RESET(HTTP_HVALUE_BYTES);
|
166
|
+
HTTPLIB_RESET(HTTP_HVALUE_CLOSE);
|
167
|
+
HTTPLIB_RESET(HTTP_HVALUE_CONTENT_TYPE_DEFAULT);
|
168
|
+
HTTPLIB_RESET(HTTP_HVALUE_GZIP);
|
169
|
+
HTTPLIB_RESET(HTTP_HVALUE_KEEP_ALIVE);
|
170
|
+
HTTPLIB_RESET(HTTP_HVALUE_MAX_AGE);
|
171
|
+
HTTPLIB_RESET(HTTP_HVALUE_NO_CACHE);
|
172
|
+
HTTPLIB_RESET(HTTP_HVALUE_WEBSOCKET);
|
173
|
+
HTTPLIB_RESET(HTTP_HVALUE_WS_SEC_VERSION);
|
174
|
+
HTTPLIB_RESET(HTTP_HVALUE_WS_UPGRADE);
|
175
|
+
HTTPLIB_RESET(HTTP_HVALUE_WS_VERSION);
|
176
|
+
|
177
|
+
#undef HTTPLIB_RESET
|
178
|
+
}
|
179
|
+
|
180
|
+
void http_lib_init(void) {
|
181
|
+
if (HTTP_HEADER_ACCEPT_RANGES)
|
182
|
+
return;
|
183
|
+
HTTP_HEADER_ACCEPT = fiobj_str_new("accept", 6);
|
184
|
+
HTTP_HEADER_ACCEPT_RANGES = fiobj_str_new("accept-ranges", 13);
|
185
|
+
HTTP_HEADER_CACHE_CONTROL = fiobj_str_new("cache-control", 13);
|
186
|
+
HTTP_HEADER_CONNECTION = fiobj_str_new("connection", 10);
|
187
|
+
HTTP_HEADER_CONTENT_ENCODING = fiobj_str_new("content-encoding", 16);
|
188
|
+
HTTP_HEADER_CONTENT_LENGTH = fiobj_str_new("content-length", 14);
|
189
|
+
HTTP_HEADER_CONTENT_RANGE = fiobj_str_new("content-range", 13);
|
190
|
+
HTTP_HEADER_CONTENT_TYPE = fiobj_str_new("content-type", 12);
|
191
|
+
HTTP_HEADER_COOKIE = fiobj_str_new("cookie", 6);
|
192
|
+
HTTP_HEADER_DATE = fiobj_str_new("date", 4);
|
193
|
+
HTTP_HEADER_ETAG = fiobj_str_new("etag", 4);
|
194
|
+
HTTP_HEADER_HOST = fiobj_str_new("host", 4);
|
195
|
+
HTTP_HEADER_LAST_MODIFIED = fiobj_str_new("last-modified", 13);
|
196
|
+
HTTP_HEADER_ORIGIN = fiobj_str_new("origin", 6);
|
197
|
+
HTTP_HEADER_SET_COOKIE = fiobj_str_new("set-cookie", 10);
|
198
|
+
HTTP_HEADER_UPGRADE = fiobj_str_new("upgrade", 7);
|
199
|
+
HTTP_HEADER_WS_SEC_CLIENT_KEY = fiobj_str_new("sec-websocket-key", 17);
|
200
|
+
HTTP_HEADER_WS_SEC_KEY = fiobj_str_new("sec-websocket-accept", 20);
|
201
|
+
HTTP_HVALUE_BYTES = fiobj_str_new("bytes", 5);
|
202
|
+
HTTP_HVALUE_CLOSE = fiobj_str_new("close", 5);
|
203
|
+
HTTP_HVALUE_CONTENT_TYPE_DEFAULT =
|
204
|
+
fiobj_str_new("application/octet-stream", 24);
|
205
|
+
HTTP_HVALUE_GZIP = fiobj_str_new("gzip", 4);
|
206
|
+
HTTP_HVALUE_KEEP_ALIVE = fiobj_str_new("keep-alive", 10);
|
207
|
+
HTTP_HVALUE_MAX_AGE = fiobj_str_new("max-age=3600", 12);
|
208
|
+
HTTP_HVALUE_NO_CACHE = fiobj_str_new("no-cache, max-age=0", 19);
|
209
|
+
HTTP_HVALUE_SSE_MIME = fiobj_str_new("text/event-stream", 17);
|
210
|
+
HTTP_HVALUE_WEBSOCKET = fiobj_str_new("websocket", 9);
|
211
|
+
HTTP_HVALUE_WS_SEC_VERSION = fiobj_str_new("sec-websocket-version", 21);
|
212
|
+
HTTP_HVALUE_WS_UPGRADE = fiobj_str_new("Upgrade", 7);
|
213
|
+
HTTP_HVALUE_WS_VERSION = fiobj_str_new("13", 2);
|
214
|
+
|
215
|
+
fiobj_obj2hash(HTTP_HEADER_ACCEPT_RANGES);
|
216
|
+
fiobj_obj2hash(HTTP_HEADER_CACHE_CONTROL);
|
217
|
+
fiobj_obj2hash(HTTP_HEADER_CONNECTION);
|
218
|
+
fiobj_obj2hash(HTTP_HEADER_CONTENT_ENCODING);
|
219
|
+
fiobj_obj2hash(HTTP_HEADER_CONTENT_LENGTH);
|
220
|
+
fiobj_obj2hash(HTTP_HEADER_CONTENT_RANGE);
|
221
|
+
fiobj_obj2hash(HTTP_HEADER_CONTENT_TYPE);
|
222
|
+
fiobj_obj2hash(HTTP_HEADER_COOKIE);
|
223
|
+
fiobj_obj2hash(HTTP_HEADER_DATE);
|
224
|
+
fiobj_obj2hash(HTTP_HEADER_ETAG);
|
225
|
+
fiobj_obj2hash(HTTP_HEADER_HOST);
|
226
|
+
fiobj_obj2hash(HTTP_HEADER_LAST_MODIFIED);
|
227
|
+
fiobj_obj2hash(HTTP_HEADER_ORIGIN);
|
228
|
+
fiobj_obj2hash(HTTP_HEADER_SET_COOKIE);
|
229
|
+
fiobj_obj2hash(HTTP_HEADER_UPGRADE);
|
230
|
+
fiobj_obj2hash(HTTP_HEADER_WS_SEC_CLIENT_KEY);
|
231
|
+
fiobj_obj2hash(HTTP_HEADER_WS_SEC_KEY);
|
232
|
+
fiobj_obj2hash(HTTP_HVALUE_BYTES);
|
233
|
+
fiobj_obj2hash(HTTP_HVALUE_CLOSE);
|
234
|
+
fiobj_obj2hash(HTTP_HVALUE_CONTENT_TYPE_DEFAULT);
|
235
|
+
fiobj_obj2hash(HTTP_HVALUE_GZIP);
|
236
|
+
fiobj_obj2hash(HTTP_HVALUE_KEEP_ALIVE);
|
237
|
+
fiobj_obj2hash(HTTP_HVALUE_MAX_AGE);
|
238
|
+
fiobj_obj2hash(HTTP_HVALUE_NO_CACHE);
|
239
|
+
fiobj_obj2hash(HTTP_HVALUE_SSE_MIME);
|
240
|
+
fiobj_obj2hash(HTTP_HVALUE_WEBSOCKET);
|
241
|
+
fiobj_obj2hash(HTTP_HVALUE_WS_SEC_VERSION);
|
242
|
+
fiobj_obj2hash(HTTP_HVALUE_WS_UPGRADE);
|
243
|
+
fiobj_obj2hash(HTTP_HVALUE_WS_VERSION);
|
244
|
+
|
245
|
+
#define REGISTER_MIME(ext, type) \
|
246
|
+
http_mimetype_register(ext, sizeof(ext) - 1, \
|
247
|
+
fiobj_str_static(type, sizeof(type) - 1))
|
248
|
+
|
249
|
+
REGISTER_MIME("123", "application/vnd.lotus-1-2-3");
|
250
|
+
REGISTER_MIME("3dml", "text/vnd.in3d.3dml");
|
251
|
+
REGISTER_MIME("3ds", "image/x-3ds");
|
252
|
+
REGISTER_MIME("3g2", "video/3gpp2");
|
253
|
+
REGISTER_MIME("3gp", "video/3gpp");
|
254
|
+
REGISTER_MIME("7z", "application/x-7z-compressed");
|
255
|
+
REGISTER_MIME("aab", "application/x-authorware-bin");
|
256
|
+
REGISTER_MIME("aac", "audio/x-aac");
|
257
|
+
REGISTER_MIME("aam", "application/x-authorware-map");
|
258
|
+
REGISTER_MIME("aas", "application/x-authorware-seg");
|
259
|
+
REGISTER_MIME("abw", "application/x-abiword");
|
260
|
+
REGISTER_MIME("ac", "application/pkix-attr-cert");
|
261
|
+
REGISTER_MIME("acc", "application/vnd.americandynamics.acc");
|
262
|
+
REGISTER_MIME("ace", "application/x-ace-compressed");
|
263
|
+
REGISTER_MIME("acu", "application/vnd.acucobol");
|
264
|
+
REGISTER_MIME("acutc", "application/vnd.acucorp");
|
265
|
+
REGISTER_MIME("adp", "audio/adpcm");
|
266
|
+
REGISTER_MIME("aep", "application/vnd.audiograph");
|
267
|
+
REGISTER_MIME("afm", "application/x-font-type1");
|
268
|
+
REGISTER_MIME("afp", "application/vnd.ibm.modcap");
|
269
|
+
REGISTER_MIME("ahead", "application/vnd.ahead.space");
|
270
|
+
REGISTER_MIME("ai", "application/postscript");
|
271
|
+
REGISTER_MIME("aif", "audio/x-aiff");
|
272
|
+
REGISTER_MIME("aifc", "audio/x-aiff");
|
273
|
+
REGISTER_MIME("aiff", "audio/x-aiff");
|
274
|
+
REGISTER_MIME("air",
|
275
|
+
"application/vnd.adobe.air-application-installer-package+zip");
|
276
|
+
REGISTER_MIME("ait", "application/vnd.dvb.ait");
|
277
|
+
REGISTER_MIME("ami", "application/vnd.amiga.ami");
|
278
|
+
REGISTER_MIME("apk", "application/vnd.android.package-archive");
|
279
|
+
REGISTER_MIME("appcache", "text/cache-manifest");
|
280
|
+
REGISTER_MIME("application", "application/x-ms-application");
|
281
|
+
REGISTER_MIME("pptx", "application/"
|
282
|
+
"vnd.openxmlformats-officedocument.presentationml."
|
283
|
+
"presentation");
|
284
|
+
REGISTER_MIME("apr", "application/vnd.lotus-approach");
|
285
|
+
REGISTER_MIME("arc", "application/x-freearc");
|
286
|
+
REGISTER_MIME("asc", "application/pgp-signature");
|
287
|
+
REGISTER_MIME("asf", "video/x-ms-asf");
|
288
|
+
REGISTER_MIME("asm", "text/x-asm");
|
289
|
+
REGISTER_MIME("aso", "application/vnd.accpac.simply.aso");
|
290
|
+
REGISTER_MIME("asx", "video/x-ms-asf");
|
291
|
+
REGISTER_MIME("atc", "application/vnd.acucorp");
|
292
|
+
REGISTER_MIME("atom", "application/atom+xml");
|
293
|
+
REGISTER_MIME("atomcat", "application/atomcat+xml");
|
294
|
+
REGISTER_MIME("atomsvc", "application/atomsvc+xml");
|
295
|
+
REGISTER_MIME("atx", "application/vnd.antix.game-component");
|
296
|
+
REGISTER_MIME("au", "audio/basic");
|
297
|
+
REGISTER_MIME("avi", "video/x-msvideo");
|
298
|
+
REGISTER_MIME("aw", "application/applixware");
|
299
|
+
REGISTER_MIME("azf", "application/vnd.airzip.filesecure.azf");
|
300
|
+
REGISTER_MIME("azs", "application/vnd.airzip.filesecure.azs");
|
301
|
+
REGISTER_MIME("azw", "application/vnd.amazon.ebook");
|
302
|
+
REGISTER_MIME("bat", "application/x-msdownload");
|
303
|
+
REGISTER_MIME("bcpio", "application/x-bcpio");
|
304
|
+
REGISTER_MIME("bdf", "application/x-font-bdf");
|
305
|
+
REGISTER_MIME("bdm", "application/vnd.syncml.dm+wbxml");
|
306
|
+
REGISTER_MIME("bed", "application/vnd.realvnc.bed");
|
307
|
+
REGISTER_MIME("bh2", "application/vnd.fujitsu.oasysprs");
|
308
|
+
REGISTER_MIME("bin", "application/octet-stream");
|
309
|
+
REGISTER_MIME("blb", "application/x-blorb");
|
310
|
+
REGISTER_MIME("blorb", "application/x-blorb");
|
311
|
+
REGISTER_MIME("bmi", "application/vnd.bmi");
|
312
|
+
REGISTER_MIME("bmp", "image/bmp");
|
313
|
+
REGISTER_MIME("book", "application/vnd.framemaker");
|
314
|
+
REGISTER_MIME("box", "application/vnd.previewsystems.box");
|
315
|
+
REGISTER_MIME("boz", "application/x-bzip2");
|
316
|
+
REGISTER_MIME("bpk", "application/octet-stream");
|
317
|
+
REGISTER_MIME("btif", "image/prs.btif");
|
318
|
+
REGISTER_MIME("bz", "application/x-bzip");
|
319
|
+
REGISTER_MIME("bz2", "application/x-bzip2");
|
320
|
+
REGISTER_MIME("c", "text/x-c");
|
321
|
+
REGISTER_MIME("c11amc", "application/vnd.cluetrust.cartomobile-config");
|
322
|
+
REGISTER_MIME("c11amz", "application/vnd.cluetrust.cartomobile-config-pkg");
|
323
|
+
REGISTER_MIME("c4d", "application/vnd.clonk.c4group");
|
324
|
+
REGISTER_MIME("c4f", "application/vnd.clonk.c4group");
|
325
|
+
REGISTER_MIME("c4g", "application/vnd.clonk.c4group");
|
326
|
+
REGISTER_MIME("c4p", "application/vnd.clonk.c4group");
|
327
|
+
REGISTER_MIME("c4u", "application/vnd.clonk.c4group");
|
328
|
+
REGISTER_MIME("cab", "application/vnd.ms-cab-compressed");
|
329
|
+
REGISTER_MIME("caf", "audio/x-caf");
|
330
|
+
REGISTER_MIME("cap", "application/vnd.tcpdump.pcap");
|
331
|
+
REGISTER_MIME("car", "application/vnd.curl.car");
|
332
|
+
REGISTER_MIME("cat", "application/vnd.ms-pki.seccat");
|
333
|
+
REGISTER_MIME("cb7", "application/x-cbr");
|
334
|
+
REGISTER_MIME("cba", "application/x-cbr");
|
335
|
+
REGISTER_MIME("cbr", "application/x-cbr");
|
336
|
+
REGISTER_MIME("cbt", "application/x-cbr");
|
337
|
+
REGISTER_MIME("cbz", "application/x-cbr");
|
338
|
+
REGISTER_MIME("cc", "text/x-c");
|
339
|
+
REGISTER_MIME("cct", "application/x-director");
|
340
|
+
REGISTER_MIME("ccxml", "application/ccxml+xml");
|
341
|
+
REGISTER_MIME("cdbcmsg", "application/vnd.contact.cmsg");
|
342
|
+
REGISTER_MIME("cdf", "application/x-netcdf");
|
343
|
+
REGISTER_MIME("cdkey", "application/vnd.mediastation.cdkey");
|
344
|
+
REGISTER_MIME("cdmia", "application/cdmi-capability");
|
345
|
+
REGISTER_MIME("cdmic", "application/cdmi-container");
|
346
|
+
REGISTER_MIME("cdmid", "application/cdmi-domain");
|
347
|
+
REGISTER_MIME("cdmio", "application/cdmi-object");
|
348
|
+
REGISTER_MIME("cdmiq", "application/cdmi-queue");
|
349
|
+
REGISTER_MIME("cdx", "chemical/x-cdx");
|
350
|
+
REGISTER_MIME("cdxml", "application/vnd.chemdraw+xml");
|
351
|
+
REGISTER_MIME("cdy", "application/vnd.cinderella");
|
352
|
+
REGISTER_MIME("cer", "application/pkix-cert");
|
353
|
+
REGISTER_MIME("cfs", "application/x-cfs-compressed");
|
354
|
+
REGISTER_MIME("cgm", "image/cgm");
|
355
|
+
REGISTER_MIME("chat", "application/x-chat");
|
356
|
+
REGISTER_MIME("chm", "application/vnd.ms-htmlhelp");
|
357
|
+
REGISTER_MIME("chrt", "application/vnd.kde.kchart");
|
358
|
+
REGISTER_MIME("cif", "chemical/x-cif");
|
359
|
+
REGISTER_MIME("cii",
|
360
|
+
"application/vnd.anser-web-certificate-issue-initiation");
|
361
|
+
REGISTER_MIME("cil", "application/vnd.ms-artgalry");
|
362
|
+
REGISTER_MIME("cla", "application/vnd.claymore");
|
363
|
+
REGISTER_MIME("class", "application/java-vm");
|
364
|
+
REGISTER_MIME("clkk", "application/vnd.crick.clicker.keyboard");
|
365
|
+
REGISTER_MIME("clkp", "application/vnd.crick.clicker.palette");
|
366
|
+
REGISTER_MIME("clkt", "application/vnd.crick.clicker.template");
|
367
|
+
REGISTER_MIME("clkw", "application/vnd.crick.clicker.wordbank");
|
368
|
+
REGISTER_MIME("clkx", "application/vnd.crick.clicker");
|
369
|
+
REGISTER_MIME("clp", "application/x-msclip");
|
370
|
+
REGISTER_MIME("cmc", "application/vnd.cosmocaller");
|
371
|
+
REGISTER_MIME("cmdf", "chemical/x-cmdf");
|
372
|
+
REGISTER_MIME("cml", "chemical/x-cml");
|
373
|
+
REGISTER_MIME("cmp", "application/vnd.yellowriver-custom-menu");
|
374
|
+
REGISTER_MIME("cmx", "image/x-cmx");
|
375
|
+
REGISTER_MIME("cod", "application/vnd.rim.cod");
|
376
|
+
REGISTER_MIME("com", "application/x-msdownload");
|
377
|
+
REGISTER_MIME("conf", "text/plain");
|
378
|
+
REGISTER_MIME("cpio", "application/x-cpio");
|
379
|
+
REGISTER_MIME("cpp", "text/x-c");
|
380
|
+
REGISTER_MIME("cpt", "application/mac-compactpro");
|
381
|
+
REGISTER_MIME("crd", "application/x-mscardfile");
|
382
|
+
REGISTER_MIME("crl", "application/pkix-crl");
|
383
|
+
REGISTER_MIME("crt", "application/x-x509-ca-cert");
|
384
|
+
REGISTER_MIME("cryptonote", "application/vnd.rig.cryptonote");
|
385
|
+
REGISTER_MIME("csh", "application/x-csh");
|
386
|
+
REGISTER_MIME("csml", "chemical/x-csml");
|
387
|
+
REGISTER_MIME("csp", "application/vnd.commonspace");
|
388
|
+
REGISTER_MIME("css", "text/css");
|
389
|
+
REGISTER_MIME("cst", "application/x-director");
|
390
|
+
REGISTER_MIME("csv", "text/csv");
|
391
|
+
REGISTER_MIME("cu", "application/cu-seeme");
|
392
|
+
REGISTER_MIME("curl", "text/vnd.curl");
|
393
|
+
REGISTER_MIME("cww", "application/prs.cww");
|
394
|
+
REGISTER_MIME("cxt", "application/x-director");
|
395
|
+
REGISTER_MIME("cxx", "text/x-c");
|
396
|
+
REGISTER_MIME("dae", "model/vnd.collada+xml");
|
397
|
+
REGISTER_MIME("daf", "application/vnd.mobius.daf");
|
398
|
+
REGISTER_MIME("dart", "application/vnd.dart");
|
399
|
+
REGISTER_MIME("dataless", "application/vnd.fdsn.seed");
|
400
|
+
REGISTER_MIME("davmount", "application/davmount+xml");
|
401
|
+
REGISTER_MIME("dbk", "application/docbook+xml");
|
402
|
+
REGISTER_MIME("dcr", "application/x-director");
|
403
|
+
REGISTER_MIME("dcurl", "text/vnd.curl.dcurl");
|
404
|
+
REGISTER_MIME("dd2", "application/vnd.oma.dd2+xml");
|
405
|
+
REGISTER_MIME("ddd", "application/vnd.fujixerox.ddd");
|
406
|
+
REGISTER_MIME("deb", "application/x-debian-package");
|
407
|
+
REGISTER_MIME("def", "text/plain");
|
408
|
+
REGISTER_MIME("deploy", "application/octet-stream");
|
409
|
+
REGISTER_MIME("der", "application/x-x509-ca-cert");
|
410
|
+
REGISTER_MIME("dfac", "application/vnd.dreamfactory");
|
411
|
+
REGISTER_MIME("dgc", "application/x-dgc-compressed");
|
412
|
+
REGISTER_MIME("dic", "text/x-c");
|
413
|
+
REGISTER_MIME("dir", "application/x-director");
|
414
|
+
REGISTER_MIME("dis", "application/vnd.mobius.dis");
|
415
|
+
REGISTER_MIME("dist", "application/octet-stream");
|
416
|
+
REGISTER_MIME("distz", "application/octet-stream");
|
417
|
+
REGISTER_MIME("djv", "image/vnd.djvu");
|
418
|
+
REGISTER_MIME("djvu", "image/vnd.djvu");
|
419
|
+
REGISTER_MIME("dll", "application/x-msdownload");
|
420
|
+
REGISTER_MIME("dmg", "application/x-apple-diskimage");
|
421
|
+
REGISTER_MIME("dmp", "application/vnd.tcpdump.pcap");
|
422
|
+
REGISTER_MIME("dms", "application/octet-stream");
|
423
|
+
REGISTER_MIME("dna", "application/vnd.dna");
|
424
|
+
REGISTER_MIME("doc", "application/msword");
|
425
|
+
REGISTER_MIME("docm", "application/vnd.ms-word.document.macroenabled.12");
|
426
|
+
REGISTER_MIME("docx", "application/"
|
427
|
+
"vnd.openxmlformats-officedocument.wordprocessingml."
|
428
|
+
"document");
|
429
|
+
REGISTER_MIME("dot", "application/msword");
|
430
|
+
REGISTER_MIME("dotm", "application/vnd.ms-word.template.macroenabled.12");
|
431
|
+
REGISTER_MIME("dotx", "application/"
|
432
|
+
"vnd.openxmlformats-officedocument.wordprocessingml."
|
433
|
+
"template");
|
434
|
+
REGISTER_MIME("dp", "application/vnd.osgi.dp");
|
435
|
+
REGISTER_MIME("dpg", "application/vnd.dpgraph");
|
436
|
+
REGISTER_MIME("dra", "audio/vnd.dra");
|
437
|
+
REGISTER_MIME("dsc", "text/prs.lines.tag");
|
438
|
+
REGISTER_MIME("dssc", "application/dssc+der");
|
439
|
+
REGISTER_MIME("dtb", "application/x-dtbook+xml");
|
440
|
+
REGISTER_MIME("dtd", "application/xml-dtd");
|
441
|
+
REGISTER_MIME("dts", "audio/vnd.dts");
|
442
|
+
REGISTER_MIME("dtshd", "audio/vnd.dts.hd");
|
443
|
+
REGISTER_MIME("dump", "application/octet-stream");
|
444
|
+
REGISTER_MIME("dvb", "video/vnd.dvb.file");
|
445
|
+
REGISTER_MIME("dvi", "application/x-dvi");
|
446
|
+
REGISTER_MIME("dwf", "model/vnd.dwf");
|
447
|
+
REGISTER_MIME("dwg", "image/vnd.dwg");
|
448
|
+
REGISTER_MIME("dxf", "image/vnd.dxf");
|
449
|
+
REGISTER_MIME("dxp", "application/vnd.spotfire.dxp");
|
450
|
+
REGISTER_MIME("dxr", "application/x-director");
|
451
|
+
REGISTER_MIME("ecelp4800", "audio/vnd.nuera.ecelp4800");
|
452
|
+
REGISTER_MIME("ecelp7470", "audio/vnd.nuera.ecelp7470");
|
453
|
+
REGISTER_MIME("ecelp9600", "audio/vnd.nuera.ecelp9600");
|
454
|
+
REGISTER_MIME("ecma", "application/ecmascript");
|
455
|
+
REGISTER_MIME("edm", "application/vnd.novadigm.edm");
|
456
|
+
REGISTER_MIME("edx", "application/vnd.novadigm.edx");
|
457
|
+
REGISTER_MIME("efif", "application/vnd.picsel");
|
458
|
+
REGISTER_MIME("ei6", "application/vnd.pg.osasli");
|
459
|
+
REGISTER_MIME("elc", "application/octet-stream");
|
460
|
+
REGISTER_MIME("emf", "application/x-msmetafile");
|
461
|
+
REGISTER_MIME("eml", "message/rfc822");
|
462
|
+
REGISTER_MIME("emma", "application/emma+xml");
|
463
|
+
REGISTER_MIME("emz", "application/x-msmetafile");
|
464
|
+
REGISTER_MIME("eol", "audio/vnd.digital-winds");
|
465
|
+
REGISTER_MIME("eot", "application/vnd.ms-fontobject");
|
466
|
+
REGISTER_MIME("eps", "application/postscript");
|
467
|
+
REGISTER_MIME("epub", "application/epub+zip");
|
468
|
+
REGISTER_MIME("es3", "application/vnd.eszigno3+xml");
|
469
|
+
REGISTER_MIME("esa", "application/vnd.osgi.subsystem");
|
470
|
+
REGISTER_MIME("esf", "application/vnd.epson.esf");
|
471
|
+
REGISTER_MIME("et3", "application/vnd.eszigno3+xml");
|
472
|
+
REGISTER_MIME("etx", "text/x-setext");
|
473
|
+
REGISTER_MIME("eva", "application/x-eva");
|
474
|
+
REGISTER_MIME("evy", "application/x-envoy");
|
475
|
+
REGISTER_MIME("exe", "application/x-msdownload");
|
476
|
+
REGISTER_MIME("exi", "application/exi");
|
477
|
+
REGISTER_MIME("ext", "application/vnd.novadigm.ext");
|
478
|
+
REGISTER_MIME("ez", "application/andrew-inset");
|
479
|
+
REGISTER_MIME("ez2", "application/vnd.ezpix-album");
|
480
|
+
REGISTER_MIME("ez3", "application/vnd.ezpix-package");
|
481
|
+
REGISTER_MIME("f", "text/x-fortran");
|
482
|
+
REGISTER_MIME("f4v", "video/x-f4v");
|
483
|
+
REGISTER_MIME("f77", "text/x-fortran");
|
484
|
+
REGISTER_MIME("f90", "text/x-fortran");
|
485
|
+
REGISTER_MIME("fbs", "image/vnd.fastbidsheet");
|
486
|
+
REGISTER_MIME("fcdt", "application/vnd.adobe.formscentral.fcdt");
|
487
|
+
REGISTER_MIME("fcs", "application/vnd.isac.fcs");
|
488
|
+
REGISTER_MIME("fdf", "application/vnd.fdf");
|
489
|
+
REGISTER_MIME("fe_launch", "application/vnd.denovo.fcselayout-link");
|
490
|
+
REGISTER_MIME("fg5", "application/vnd.fujitsu.oasysgp");
|
491
|
+
REGISTER_MIME("fgd", "application/x-director");
|
492
|
+
REGISTER_MIME("fh", "image/x-freehand");
|
493
|
+
REGISTER_MIME("fh4", "image/x-freehand");
|
494
|
+
REGISTER_MIME("fh5", "image/x-freehand");
|
495
|
+
REGISTER_MIME("fh7", "image/x-freehand");
|
496
|
+
REGISTER_MIME("fhc", "image/x-freehand");
|
497
|
+
REGISTER_MIME("fig", "application/x-xfig");
|
498
|
+
REGISTER_MIME("flac", "audio/x-flac");
|
499
|
+
REGISTER_MIME("fli", "video/x-fli");
|
500
|
+
REGISTER_MIME("flo", "application/vnd.micrografx.flo");
|
501
|
+
REGISTER_MIME("flv", "video/x-flv");
|
502
|
+
REGISTER_MIME("flw", "application/vnd.kde.kivio");
|
503
|
+
REGISTER_MIME("flx", "text/vnd.fmi.flexstor");
|
504
|
+
REGISTER_MIME("fly", "text/vnd.fly");
|
505
|
+
REGISTER_MIME("fm", "application/vnd.framemaker");
|
506
|
+
REGISTER_MIME("fnc", "application/vnd.frogans.fnc");
|
507
|
+
REGISTER_MIME("for", "text/x-fortran");
|
508
|
+
REGISTER_MIME("fpx", "image/vnd.fpx");
|
509
|
+
REGISTER_MIME("frame", "application/vnd.framemaker");
|
510
|
+
REGISTER_MIME("fsc", "application/vnd.fsc.weblaunch");
|
511
|
+
REGISTER_MIME("fst", "image/vnd.fst");
|
512
|
+
REGISTER_MIME("ftc", "application/vnd.fluxtime.clip");
|
513
|
+
REGISTER_MIME("fti", "application/vnd.anser-web-funds-transfer-initiation");
|
514
|
+
REGISTER_MIME("fvt", "video/vnd.fvt");
|
515
|
+
REGISTER_MIME("fxp", "application/vnd.adobe.fxp");
|
516
|
+
REGISTER_MIME("fxpl", "application/vnd.adobe.fxp");
|
517
|
+
REGISTER_MIME("fzs", "application/vnd.fuzzysheet");
|
518
|
+
REGISTER_MIME("g2w", "application/vnd.geoplan");
|
519
|
+
REGISTER_MIME("g3", "image/g3fax");
|
520
|
+
REGISTER_MIME("g3w", "application/vnd.geospace");
|
521
|
+
REGISTER_MIME("gac", "application/vnd.groove-account");
|
522
|
+
REGISTER_MIME("gam", "application/x-tads");
|
523
|
+
REGISTER_MIME("gbr", "application/rpki-ghostbusters");
|
524
|
+
REGISTER_MIME("gca", "application/x-gca-compressed");
|
525
|
+
REGISTER_MIME("gdl", "model/vnd.gdl");
|
526
|
+
REGISTER_MIME("geo", "application/vnd.dynageo");
|
527
|
+
REGISTER_MIME("gex", "application/vnd.geometry-explorer");
|
528
|
+
REGISTER_MIME("ggb", "application/vnd.geogebra.file");
|
529
|
+
REGISTER_MIME("ggt", "application/vnd.geogebra.tool");
|
530
|
+
REGISTER_MIME("ghf", "application/vnd.groove-help");
|
531
|
+
REGISTER_MIME("gif", "image/gif");
|
532
|
+
REGISTER_MIME("gim", "application/vnd.groove-identity-message");
|
533
|
+
REGISTER_MIME("gml", "application/gml+xml");
|
534
|
+
REGISTER_MIME("gmx", "application/vnd.gmx");
|
535
|
+
REGISTER_MIME("gnumeric", "application/x-gnumeric");
|
536
|
+
REGISTER_MIME("gph", "application/vnd.flographit");
|
537
|
+
REGISTER_MIME("gpx", "application/gpx+xml");
|
538
|
+
REGISTER_MIME("gqf", "application/vnd.grafeq");
|
539
|
+
REGISTER_MIME("gqs", "application/vnd.grafeq");
|
540
|
+
REGISTER_MIME("gram", "application/srgs");
|
541
|
+
REGISTER_MIME("gramps", "application/x-gramps-xml");
|
542
|
+
REGISTER_MIME("gre", "application/vnd.geometry-explorer");
|
543
|
+
REGISTER_MIME("grv", "application/vnd.groove-injector");
|
544
|
+
REGISTER_MIME("grxml", "application/srgs+xml");
|
545
|
+
REGISTER_MIME("gsf", "application/x-font-ghostscript");
|
546
|
+
REGISTER_MIME("gtar", "application/x-gtar");
|
547
|
+
REGISTER_MIME("gtm", "application/vnd.groove-tool-message");
|
548
|
+
REGISTER_MIME("gtw", "model/vnd.gtw");
|
549
|
+
REGISTER_MIME("gv", "text/vnd.graphviz");
|
550
|
+
REGISTER_MIME("gxf", "application/gxf");
|
551
|
+
REGISTER_MIME("gxt", "application/vnd.geonext");
|
552
|
+
REGISTER_MIME("h", "text/x-c");
|
553
|
+
REGISTER_MIME("h261", "video/h261");
|
554
|
+
REGISTER_MIME("h263", "video/h263");
|
555
|
+
REGISTER_MIME("h264", "video/h264");
|
556
|
+
REGISTER_MIME("hal", "application/vnd.hal+xml");
|
557
|
+
REGISTER_MIME("hbci", "application/vnd.hbci");
|
558
|
+
REGISTER_MIME("hdf", "application/x-hdf");
|
559
|
+
REGISTER_MIME("hh", "text/x-c");
|
560
|
+
REGISTER_MIME("hlp", "application/winhlp");
|
561
|
+
REGISTER_MIME("hpgl", "application/vnd.hp-hpgl");
|
562
|
+
REGISTER_MIME("hpid", "application/vnd.hp-hpid");
|
563
|
+
REGISTER_MIME("hps", "application/vnd.hp-hps");
|
564
|
+
REGISTER_MIME("hqx", "application/mac-binhex40");
|
565
|
+
REGISTER_MIME("htke", "application/vnd.kenameaapp");
|
566
|
+
REGISTER_MIME("htm", "text/html");
|
567
|
+
REGISTER_MIME("html", "text/html");
|
568
|
+
REGISTER_MIME("hvd", "application/vnd.yamaha.hv-dic");
|
569
|
+
REGISTER_MIME("hvp", "application/vnd.yamaha.hv-voice");
|
570
|
+
REGISTER_MIME("hvs", "application/vnd.yamaha.hv-script");
|
571
|
+
REGISTER_MIME("i2g", "application/vnd.intergeo");
|
572
|
+
REGISTER_MIME("icc", "application/vnd.iccprofile");
|
573
|
+
REGISTER_MIME("ice", "x-conference/x-cooltalk");
|
574
|
+
REGISTER_MIME("icm", "application/vnd.iccprofile");
|
575
|
+
REGISTER_MIME("ico", "image/x-icon");
|
576
|
+
REGISTER_MIME("ics", "text/calendar");
|
577
|
+
REGISTER_MIME("ief", "image/ief");
|
578
|
+
REGISTER_MIME("ifb", "text/calendar");
|
579
|
+
REGISTER_MIME("ifm", "application/vnd.shana.informed.formdata");
|
580
|
+
REGISTER_MIME("iges", "model/iges");
|
581
|
+
REGISTER_MIME("igl", "application/vnd.igloader");
|
582
|
+
REGISTER_MIME("igm", "application/vnd.insors.igm");
|
583
|
+
REGISTER_MIME("igs", "model/iges");
|
584
|
+
REGISTER_MIME("igx", "application/vnd.micrografx.igx");
|
585
|
+
REGISTER_MIME("iif", "application/vnd.shana.informed.interchange");
|
586
|
+
REGISTER_MIME("imp", "application/vnd.accpac.simply.imp");
|
587
|
+
REGISTER_MIME("ims", "application/vnd.ms-ims");
|
588
|
+
REGISTER_MIME("in", "text/plain");
|
589
|
+
REGISTER_MIME("ink", "application/inkml+xml");
|
590
|
+
REGISTER_MIME("inkml", "application/inkml+xml");
|
591
|
+
REGISTER_MIME("install", "application/x-install-instructions");
|
592
|
+
REGISTER_MIME("iota", "application/vnd.astraea-software.iota");
|
593
|
+
REGISTER_MIME("ipfix", "application/ipfix");
|
594
|
+
REGISTER_MIME("ipk", "application/vnd.shana.informed.package");
|
595
|
+
REGISTER_MIME("irm", "application/vnd.ibm.rights-management");
|
596
|
+
REGISTER_MIME("irp", "application/vnd.irepository.package+xml");
|
597
|
+
REGISTER_MIME("iso", "application/x-iso9660-image");
|
598
|
+
REGISTER_MIME("itp", "application/vnd.shana.informed.formtemplate");
|
599
|
+
REGISTER_MIME("ivp", "application/vnd.immervision-ivp");
|
600
|
+
REGISTER_MIME("ivu", "application/vnd.immervision-ivu");
|
601
|
+
REGISTER_MIME("jad", "text/vnd.sun.j2me.app-descriptor");
|
602
|
+
REGISTER_MIME("jam", "application/vnd.jam");
|
603
|
+
REGISTER_MIME("jar", "application/java-archive");
|
604
|
+
REGISTER_MIME("java", "text/x-java-source");
|
605
|
+
REGISTER_MIME("jisp", "application/vnd.jisp");
|
606
|
+
REGISTER_MIME("jlt", "application/vnd.hp-jlyt");
|
607
|
+
REGISTER_MIME("jnlp", "application/x-java-jnlp-file");
|
608
|
+
REGISTER_MIME("joda", "application/vnd.joost.joda-archive");
|
609
|
+
REGISTER_MIME("jpe", "image/jpeg");
|
610
|
+
REGISTER_MIME("jpeg", "image/jpeg");
|
611
|
+
REGISTER_MIME("jpg", "image/jpeg");
|
612
|
+
REGISTER_MIME("jpgm", "video/jpm");
|
613
|
+
REGISTER_MIME("jpgv", "video/jpeg");
|
614
|
+
REGISTER_MIME("jpm", "video/jpm");
|
615
|
+
REGISTER_MIME("js", "application/javascript");
|
616
|
+
REGISTER_MIME("json", "application/json");
|
617
|
+
REGISTER_MIME("jsonml", "application/jsonml+json");
|
618
|
+
REGISTER_MIME("kar", "audio/midi");
|
619
|
+
REGISTER_MIME("karbon", "application/vnd.kde.karbon");
|
620
|
+
REGISTER_MIME("kfo", "application/vnd.kde.kformula");
|
621
|
+
REGISTER_MIME("kia", "application/vnd.kidspiration");
|
622
|
+
REGISTER_MIME("kml", "application/vnd.google-earth.kml+xml");
|
623
|
+
REGISTER_MIME("kmz", "application/vnd.google-earth.kmz");
|
624
|
+
REGISTER_MIME("kne", "application/vnd.kinar");
|
625
|
+
REGISTER_MIME("knp", "application/vnd.kinar");
|
626
|
+
REGISTER_MIME("kon", "application/vnd.kde.kontour");
|
627
|
+
REGISTER_MIME("kpr", "application/vnd.kde.kpresenter");
|
628
|
+
REGISTER_MIME("kpt", "application/vnd.kde.kpresenter");
|
629
|
+
REGISTER_MIME("kpxx", "application/vnd.ds-keypoint");
|
630
|
+
REGISTER_MIME("ksp", "application/vnd.kde.kspread");
|
631
|
+
REGISTER_MIME("ktr", "application/vnd.kahootz");
|
632
|
+
REGISTER_MIME("ktx", "image/ktx");
|
633
|
+
REGISTER_MIME("ktz", "application/vnd.kahootz");
|
634
|
+
REGISTER_MIME("kwd", "application/vnd.kde.kword");
|
635
|
+
REGISTER_MIME("kwt", "application/vnd.kde.kword");
|
636
|
+
REGISTER_MIME("lasxml", "application/vnd.las.las+xml");
|
637
|
+
REGISTER_MIME("latex", "application/x-latex");
|
638
|
+
REGISTER_MIME("lbd", "application/vnd.llamagraphics.life-balance.desktop");
|
639
|
+
REGISTER_MIME("lbe",
|
640
|
+
"application/vnd.llamagraphics.life-balance.exchange+xml");
|
641
|
+
REGISTER_MIME("les", "application/vnd.hhe.lesson-player");
|
642
|
+
REGISTER_MIME("lha", "application/x-lzh-compressed");
|
643
|
+
REGISTER_MIME("link66", "application/vnd.route66.link66+xml");
|
644
|
+
REGISTER_MIME("list", "text/plain");
|
645
|
+
REGISTER_MIME("list3820", "application/vnd.ibm.modcap");
|
646
|
+
REGISTER_MIME("listafp", "application/vnd.ibm.modcap");
|
647
|
+
REGISTER_MIME("lnk", "application/x-ms-shortcut");
|
648
|
+
REGISTER_MIME("log", "text/plain");
|
649
|
+
REGISTER_MIME("lostxml", "application/lost+xml");
|
650
|
+
REGISTER_MIME("lrf", "application/octet-stream");
|
651
|
+
REGISTER_MIME("lrm", "application/vnd.ms-lrm");
|
652
|
+
REGISTER_MIME("ltf", "application/vnd.frogans.ltf");
|
653
|
+
REGISTER_MIME("lvp", "audio/vnd.lucent.voice");
|
654
|
+
REGISTER_MIME("lwp", "application/vnd.lotus-wordpro");
|
655
|
+
REGISTER_MIME("lzh", "application/x-lzh-compressed");
|
656
|
+
REGISTER_MIME("m13", "application/x-msmediaview");
|
657
|
+
REGISTER_MIME("m14", "application/x-msmediaview");
|
658
|
+
REGISTER_MIME("m1v", "video/mpeg");
|
659
|
+
REGISTER_MIME("m21", "application/mp21");
|
660
|
+
REGISTER_MIME("m2a", "audio/mpeg");
|
661
|
+
REGISTER_MIME("m2v", "video/mpeg");
|
662
|
+
REGISTER_MIME("m3a", "audio/mpeg");
|
663
|
+
REGISTER_MIME("m3u", "audio/x-mpegurl");
|
664
|
+
REGISTER_MIME("m3u8", "application/vnd.apple.mpegurl");
|
665
|
+
REGISTER_MIME("m4a", "audio/mp4");
|
666
|
+
REGISTER_MIME("m4u", "video/vnd.mpegurl");
|
667
|
+
REGISTER_MIME("m4v", "video/x-m4v");
|
668
|
+
REGISTER_MIME("ma", "application/mathematica");
|
669
|
+
REGISTER_MIME("mads", "application/mads+xml");
|
670
|
+
REGISTER_MIME("mag", "application/vnd.ecowin.chart");
|
671
|
+
REGISTER_MIME("maker", "application/vnd.framemaker");
|
672
|
+
REGISTER_MIME("man", "text/troff");
|
673
|
+
REGISTER_MIME("mar", "application/octet-stream");
|
674
|
+
REGISTER_MIME("mathml", "application/mathml+xml");
|
675
|
+
REGISTER_MIME("mb", "application/mathematica");
|
676
|
+
REGISTER_MIME("mbk", "application/vnd.mobius.mbk");
|
677
|
+
REGISTER_MIME("mbox", "application/mbox");
|
678
|
+
REGISTER_MIME("mc1", "application/vnd.medcalcdata");
|
679
|
+
REGISTER_MIME("mcd", "application/vnd.mcd");
|
680
|
+
REGISTER_MIME("mcurl", "text/vnd.curl.mcurl");
|
681
|
+
REGISTER_MIME("mdb", "application/x-msaccess");
|
682
|
+
REGISTER_MIME("mdi", "image/vnd.ms-modi");
|
683
|
+
REGISTER_MIME("me", "text/troff");
|
684
|
+
REGISTER_MIME("mesh", "model/mesh");
|
685
|
+
REGISTER_MIME("meta4", "application/metalink4+xml");
|
686
|
+
REGISTER_MIME("metalink", "application/metalink+xml");
|
687
|
+
REGISTER_MIME("mets", "application/mets+xml");
|
688
|
+
REGISTER_MIME("mfm", "application/vnd.mfmp");
|
689
|
+
REGISTER_MIME("mft", "application/rpki-manifest");
|
690
|
+
REGISTER_MIME("mgp", "application/vnd.osgeo.mapguide.package");
|
691
|
+
REGISTER_MIME("mgz", "application/vnd.proteus.magazine");
|
692
|
+
REGISTER_MIME("mid", "audio/midi");
|
693
|
+
REGISTER_MIME("midi", "audio/midi");
|
694
|
+
REGISTER_MIME("mie", "application/x-mie");
|
695
|
+
REGISTER_MIME("mif", "application/vnd.mif");
|
696
|
+
REGISTER_MIME("mime", "message/rfc822");
|
697
|
+
REGISTER_MIME("mj2", "video/mj2");
|
698
|
+
REGISTER_MIME("mjp2", "video/mj2");
|
699
|
+
REGISTER_MIME("mk3d", "video/x-matroska");
|
700
|
+
REGISTER_MIME("mka", "audio/x-matroska");
|
701
|
+
REGISTER_MIME("mks", "video/x-matroska");
|
702
|
+
REGISTER_MIME("mkv", "video/x-matroska");
|
703
|
+
REGISTER_MIME("mlp", "application/vnd.dolby.mlp");
|
704
|
+
REGISTER_MIME("mmd", "application/vnd.chipnuts.karaoke-mmd");
|
705
|
+
REGISTER_MIME("mmf", "application/vnd.smaf");
|
706
|
+
REGISTER_MIME("mmr", "image/vnd.fujixerox.edmics-mmr");
|
707
|
+
REGISTER_MIME("mng", "video/x-mng");
|
708
|
+
REGISTER_MIME("mny", "application/x-msmoney");
|
709
|
+
REGISTER_MIME("mobi", "application/x-mobipocket-ebook");
|
710
|
+
REGISTER_MIME("mods", "application/mods+xml");
|
711
|
+
REGISTER_MIME("mov", "video/quicktime");
|
712
|
+
REGISTER_MIME("movie", "video/x-sgi-movie");
|
713
|
+
REGISTER_MIME("mp2", "audio/mpeg");
|
714
|
+
REGISTER_MIME("mp21", "application/mp21");
|
715
|
+
REGISTER_MIME("mp2a", "audio/mpeg");
|
716
|
+
REGISTER_MIME("mp3", "audio/mpeg");
|
717
|
+
REGISTER_MIME("mp4", "video/mp4");
|
718
|
+
REGISTER_MIME("mp4a", "audio/mp4");
|
719
|
+
REGISTER_MIME("mp4s", "application/mp4");
|
720
|
+
REGISTER_MIME("mp4v", "video/mp4");
|
721
|
+
REGISTER_MIME("mpc", "application/vnd.mophun.certificate");
|
722
|
+
REGISTER_MIME("mpe", "video/mpeg");
|
723
|
+
REGISTER_MIME("mpeg", "video/mpeg");
|
724
|
+
REGISTER_MIME("mpg", "video/mpeg");
|
725
|
+
REGISTER_MIME("mpg4", "video/mp4");
|
726
|
+
REGISTER_MIME("mpga", "audio/mpeg");
|
727
|
+
REGISTER_MIME("mpkg", "application/vnd.apple.installer+xml");
|
728
|
+
REGISTER_MIME("mpm", "application/vnd.blueice.multipass");
|
729
|
+
REGISTER_MIME("mpn", "application/vnd.mophun.application");
|
730
|
+
REGISTER_MIME("mpp", "application/vnd.ms-project");
|
731
|
+
REGISTER_MIME("mpt", "application/vnd.ms-project");
|
732
|
+
REGISTER_MIME("mpy", "application/vnd.ibm.minipay");
|
733
|
+
REGISTER_MIME("mqy", "application/vnd.mobius.mqy");
|
734
|
+
REGISTER_MIME("mrc", "application/marc");
|
735
|
+
REGISTER_MIME("mrcx", "application/marcxml+xml");
|
736
|
+
REGISTER_MIME("ms", "text/troff");
|
737
|
+
REGISTER_MIME("mscml", "application/mediaservercontrol+xml");
|
738
|
+
REGISTER_MIME("mseed", "application/vnd.fdsn.mseed");
|
739
|
+
REGISTER_MIME("mseq", "application/vnd.mseq");
|
740
|
+
REGISTER_MIME("msf", "application/vnd.epson.msf");
|
741
|
+
REGISTER_MIME("msh", "model/mesh");
|
742
|
+
REGISTER_MIME("msi", "application/x-msdownload");
|
743
|
+
REGISTER_MIME("msl", "application/vnd.mobius.msl");
|
744
|
+
REGISTER_MIME("msty", "application/vnd.muvee.style");
|
745
|
+
REGISTER_MIME("mts", "model/vnd.mts");
|
746
|
+
REGISTER_MIME("mus", "application/vnd.musician");
|
747
|
+
REGISTER_MIME("musicxml", "application/vnd.recordare.musicxml+xml");
|
748
|
+
REGISTER_MIME("mvb", "application/x-msmediaview");
|
749
|
+
REGISTER_MIME("mwf", "application/vnd.mfer");
|
750
|
+
REGISTER_MIME("mxf", "application/mxf");
|
751
|
+
REGISTER_MIME("mxl", "application/vnd.recordare.musicxml");
|
752
|
+
REGISTER_MIME("mxml", "application/xv+xml");
|
753
|
+
REGISTER_MIME("mxs", "application/vnd.triscape.mxs");
|
754
|
+
REGISTER_MIME("mxu", "video/vnd.mpegurl");
|
755
|
+
REGISTER_MIME("n-gage", "application/vnd.nokia.n-gage.symbian.install");
|
756
|
+
REGISTER_MIME("n3", "text/n3");
|
757
|
+
REGISTER_MIME("nb", "application/mathematica");
|
758
|
+
REGISTER_MIME("nbp", "application/vnd.wolfram.player");
|
759
|
+
REGISTER_MIME("nc", "application/x-netcdf");
|
760
|
+
REGISTER_MIME("ncx", "application/x-dtbncx+xml");
|
761
|
+
REGISTER_MIME("nfo", "text/x-nfo");
|
762
|
+
REGISTER_MIME("ngdat", "application/vnd.nokia.n-gage.data");
|
763
|
+
REGISTER_MIME("nitf", "application/vnd.nitf");
|
764
|
+
REGISTER_MIME("nlu", "application/vnd.neurolanguage.nlu");
|
765
|
+
REGISTER_MIME("nml", "application/vnd.enliven");
|
766
|
+
REGISTER_MIME("nnd", "application/vnd.noblenet-directory");
|
767
|
+
REGISTER_MIME("nns", "application/vnd.noblenet-sealer");
|
768
|
+
REGISTER_MIME("nnw", "application/vnd.noblenet-web");
|
769
|
+
REGISTER_MIME("npx", "image/vnd.net-fpx");
|
770
|
+
REGISTER_MIME("nsc", "application/x-conference");
|
771
|
+
REGISTER_MIME("nsf", "application/vnd.lotus-notes");
|
772
|
+
REGISTER_MIME("ntf", "application/vnd.nitf");
|
773
|
+
REGISTER_MIME("nzb", "application/x-nzb");
|
774
|
+
REGISTER_MIME("oa2", "application/vnd.fujitsu.oasys2");
|
775
|
+
REGISTER_MIME("oa3", "application/vnd.fujitsu.oasys3");
|
776
|
+
REGISTER_MIME("oas", "application/vnd.fujitsu.oasys");
|
777
|
+
REGISTER_MIME("obd", "application/x-msbinder");
|
778
|
+
REGISTER_MIME("obj", "application/x-tgif");
|
779
|
+
REGISTER_MIME("oda", "application/oda");
|
780
|
+
REGISTER_MIME("odb", "application/vnd.oasis.opendocument.database");
|
781
|
+
REGISTER_MIME("odc", "application/vnd.oasis.opendocument.chart");
|
782
|
+
REGISTER_MIME("odf", "application/vnd.oasis.opendocument.formula");
|
783
|
+
REGISTER_MIME("odft", "application/vnd.oasis.opendocument.formula-template");
|
784
|
+
REGISTER_MIME("odg", "application/vnd.oasis.opendocument.graphics");
|
785
|
+
REGISTER_MIME("odi", "application/vnd.oasis.opendocument.image");
|
786
|
+
REGISTER_MIME("odm", "application/vnd.oasis.opendocument.text-master");
|
787
|
+
REGISTER_MIME("odp", "application/vnd.oasis.opendocument.presentation");
|
788
|
+
REGISTER_MIME("ods", "application/vnd.oasis.opendocument.spreadsheet");
|
789
|
+
REGISTER_MIME("odt", "application/vnd.oasis.opendocument.text");
|
790
|
+
REGISTER_MIME("oga", "audio/ogg");
|
791
|
+
REGISTER_MIME("ogg", "audio/ogg");
|
792
|
+
REGISTER_MIME("ogv", "video/ogg");
|
793
|
+
REGISTER_MIME("ogx", "application/ogg");
|
794
|
+
REGISTER_MIME("omdoc", "application/omdoc+xml");
|
795
|
+
REGISTER_MIME("onepkg", "application/onenote");
|
796
|
+
REGISTER_MIME("onetmp", "application/onenote");
|
797
|
+
REGISTER_MIME("onetoc", "application/onenote");
|
798
|
+
REGISTER_MIME("onetoc2", "application/onenote");
|
799
|
+
REGISTER_MIME("opf", "application/oebps-package+xml");
|
800
|
+
REGISTER_MIME("opml", "text/x-opml");
|
801
|
+
REGISTER_MIME("oprc", "application/vnd.palm");
|
802
|
+
REGISTER_MIME("org", "application/vnd.lotus-organizer");
|
803
|
+
REGISTER_MIME("osf", "application/vnd.yamaha.openscoreformat");
|
804
|
+
REGISTER_MIME("osfpvg", "application/vnd.yamaha.openscoreformat.osfpvg+xml");
|
805
|
+
REGISTER_MIME("otc", "application/vnd.oasis.opendocument.chart-template");
|
806
|
+
REGISTER_MIME("otf", "application/x-font-otf");
|
807
|
+
REGISTER_MIME("otg", "application/vnd.oasis.opendocument.graphics-template");
|
808
|
+
REGISTER_MIME("oth", "application/vnd.oasis.opendocument.text-web");
|
809
|
+
REGISTER_MIME("oti", "application/vnd.oasis.opendocument.image-template");
|
810
|
+
REGISTER_MIME("otp",
|
811
|
+
"application/vnd.oasis.opendocument.presentation-template");
|
812
|
+
REGISTER_MIME("ots",
|
813
|
+
"application/vnd.oasis.opendocument.spreadsheet-template");
|
814
|
+
REGISTER_MIME("ott", "application/vnd.oasis.opendocument.text-template");
|
815
|
+
REGISTER_MIME("oxps", "application/oxps");
|
816
|
+
REGISTER_MIME("oxt", "application/vnd.openofficeorg.extension");
|
817
|
+
REGISTER_MIME("p", "text/x-pascal");
|
818
|
+
REGISTER_MIME("p10", "application/pkcs10");
|
819
|
+
REGISTER_MIME("p12", "application/x-pkcs12");
|
820
|
+
REGISTER_MIME("p7b", "application/x-pkcs7-certificates");
|
821
|
+
REGISTER_MIME("p7c", "application/pkcs7-mime");
|
822
|
+
REGISTER_MIME("p7m", "application/pkcs7-mime");
|
823
|
+
REGISTER_MIME("p7r", "application/x-pkcs7-certreqresp");
|
824
|
+
REGISTER_MIME("p7s", "application/pkcs7-signature");
|
825
|
+
REGISTER_MIME("p8", "application/pkcs8");
|
826
|
+
REGISTER_MIME("pas", "text/x-pascal");
|
827
|
+
REGISTER_MIME("paw", "application/vnd.pawaafile");
|
828
|
+
REGISTER_MIME("pbd", "application/vnd.powerbuilder6");
|
829
|
+
REGISTER_MIME("pbm", "image/x-portable-bitmap");
|
830
|
+
REGISTER_MIME("pcap", "application/vnd.tcpdump.pcap");
|
831
|
+
REGISTER_MIME("pcf", "application/x-font-pcf");
|
832
|
+
REGISTER_MIME("pcl", "application/vnd.hp-pcl");
|
833
|
+
REGISTER_MIME("pclxl", "application/vnd.hp-pclxl");
|
834
|
+
REGISTER_MIME("pct", "image/x-pict");
|
835
|
+
REGISTER_MIME("pcurl", "application/vnd.curl.pcurl");
|
836
|
+
REGISTER_MIME("pcx", "image/x-pcx");
|
837
|
+
REGISTER_MIME("pdb", "application/vnd.palm");
|
838
|
+
REGISTER_MIME("pdf", "application/pdf");
|
839
|
+
REGISTER_MIME("pfa", "application/x-font-type1");
|
840
|
+
REGISTER_MIME("pfb", "application/x-font-type1");
|
841
|
+
REGISTER_MIME("pfm", "application/x-font-type1");
|
842
|
+
REGISTER_MIME("pfr", "application/font-tdpfr");
|
843
|
+
REGISTER_MIME("pfx", "application/x-pkcs12");
|
844
|
+
REGISTER_MIME("pgm", "image/x-portable-graymap");
|
845
|
+
REGISTER_MIME("pgn", "application/x-chess-pgn");
|
846
|
+
REGISTER_MIME("pgp", "application/pgp-encrypted");
|
847
|
+
REGISTER_MIME("pic", "image/x-pict");
|
848
|
+
REGISTER_MIME("pkg", "application/octet-stream");
|
849
|
+
REGISTER_MIME("pki", "application/pkixcmp");
|
850
|
+
REGISTER_MIME("pkipath", "application/pkix-pkipath");
|
851
|
+
REGISTER_MIME("plb", "application/vnd.3gpp.pic-bw-large");
|
852
|
+
REGISTER_MIME("plc", "application/vnd.mobius.plc");
|
853
|
+
REGISTER_MIME("plf", "application/vnd.pocketlearn");
|
854
|
+
REGISTER_MIME("pls", "application/pls+xml");
|
855
|
+
REGISTER_MIME("pml", "application/vnd.ctc-posml");
|
856
|
+
REGISTER_MIME("png", "image/png");
|
857
|
+
REGISTER_MIME("pnm", "image/x-portable-anymap");
|
858
|
+
REGISTER_MIME("portpkg", "application/vnd.macports.portpkg");
|
859
|
+
REGISTER_MIME("pot", "application/vnd.ms-powerpoint");
|
860
|
+
REGISTER_MIME("potm",
|
861
|
+
"application/vnd.ms-powerpoint.template.macroenabled.12");
|
862
|
+
REGISTER_MIME(
|
863
|
+
"potx",
|
864
|
+
"application/vnd.openxmlformats-officedocument.presentationml.template");
|
865
|
+
REGISTER_MIME("ppam", "application/vnd.ms-powerpoint.addin.macroenabled.12");
|
866
|
+
REGISTER_MIME("ppd", "application/vnd.cups-ppd");
|
867
|
+
REGISTER_MIME("ppm", "image/x-portable-pixmap");
|
868
|
+
REGISTER_MIME("pps", "application/vnd.ms-powerpoint");
|
869
|
+
REGISTER_MIME("ppsm",
|
870
|
+
"application/vnd.ms-powerpoint.slideshow.macroenabled.12");
|
871
|
+
REGISTER_MIME(
|
872
|
+
"ppsx",
|
873
|
+
"application/vnd.openxmlformats-officedocument.presentationml.slideshow");
|
874
|
+
REGISTER_MIME("ppt", "application/vnd.ms-powerpoint");
|
875
|
+
REGISTER_MIME("pptm",
|
876
|
+
"application/vnd.ms-powerpoint.presentation.macroenabled.12");
|
877
|
+
REGISTER_MIME("pqa", "application/vnd.palm");
|
878
|
+
REGISTER_MIME("prc", "application/x-mobipocket-ebook");
|
879
|
+
REGISTER_MIME("pre", "application/vnd.lotus-freelance");
|
880
|
+
REGISTER_MIME("prf", "application/pics-rules");
|
881
|
+
REGISTER_MIME("ps", "application/postscript");
|
882
|
+
REGISTER_MIME("psb", "application/vnd.3gpp.pic-bw-small");
|
883
|
+
REGISTER_MIME("psd", "image/vnd.adobe.photoshop");
|
884
|
+
REGISTER_MIME("psf", "application/x-font-linux-psf");
|
885
|
+
REGISTER_MIME("pskcxml", "application/pskc+xml");
|
886
|
+
REGISTER_MIME("ptid", "application/vnd.pvi.ptid1");
|
887
|
+
REGISTER_MIME("pub", "application/x-mspublisher");
|
888
|
+
REGISTER_MIME("pvb", "application/vnd.3gpp.pic-bw-var");
|
889
|
+
REGISTER_MIME("pwn", "application/vnd.3m.post-it-notes");
|
890
|
+
REGISTER_MIME("pya", "audio/vnd.ms-playready.media.pya");
|
891
|
+
REGISTER_MIME("pyv", "video/vnd.ms-playready.media.pyv");
|
892
|
+
REGISTER_MIME("qam", "application/vnd.epson.quickanime");
|
893
|
+
REGISTER_MIME("qbo", "application/vnd.intu.qbo");
|
894
|
+
REGISTER_MIME("qfx", "application/vnd.intu.qfx");
|
895
|
+
REGISTER_MIME("qps", "application/vnd.publishare-delta-tree");
|
896
|
+
REGISTER_MIME("qt", "video/quicktime");
|
897
|
+
REGISTER_MIME("qwd", "application/vnd.quark.quarkxpress");
|
898
|
+
REGISTER_MIME("qwt", "application/vnd.quark.quarkxpress");
|
899
|
+
REGISTER_MIME("qxb", "application/vnd.quark.quarkxpress");
|
900
|
+
REGISTER_MIME("qxd", "application/vnd.quark.quarkxpress");
|
901
|
+
REGISTER_MIME("qxl", "application/vnd.quark.quarkxpress");
|
902
|
+
REGISTER_MIME("qxt", "application/vnd.quark.quarkxpress");
|
903
|
+
REGISTER_MIME("ra", "audio/x-pn-realaudio");
|
904
|
+
REGISTER_MIME("ram", "audio/x-pn-realaudio");
|
905
|
+
REGISTER_MIME("rar", "application/x-rar-compressed");
|
906
|
+
REGISTER_MIME("ras", "image/x-cmu-raster");
|
907
|
+
REGISTER_MIME("rcprofile", "application/vnd.ipunplugged.rcprofile");
|
908
|
+
REGISTER_MIME("rdf", "application/rdf+xml");
|
909
|
+
REGISTER_MIME("rdz", "application/vnd.data-vision.rdz");
|
910
|
+
REGISTER_MIME("rep", "application/vnd.businessobjects");
|
911
|
+
REGISTER_MIME("res", "application/x-dtbresource+xml");
|
912
|
+
REGISTER_MIME("rgb", "image/x-rgb");
|
913
|
+
REGISTER_MIME("rif", "application/reginfo+xml");
|
914
|
+
REGISTER_MIME("rip", "audio/vnd.rip");
|
915
|
+
REGISTER_MIME("ris", "application/x-research-info-systems");
|
916
|
+
REGISTER_MIME("rl", "application/resource-lists+xml");
|
917
|
+
REGISTER_MIME("rlc", "image/vnd.fujixerox.edmics-rlc");
|
918
|
+
REGISTER_MIME("rld", "application/resource-lists-diff+xml");
|
919
|
+
REGISTER_MIME("rm", "application/vnd.rn-realmedia");
|
920
|
+
REGISTER_MIME("rmi", "audio/midi");
|
921
|
+
REGISTER_MIME("rmp", "audio/x-pn-realaudio-plugin");
|
922
|
+
REGISTER_MIME("rms", "application/vnd.jcp.javame.midlet-rms");
|
923
|
+
REGISTER_MIME("rmvb", "application/vnd.rn-realmedia-vbr");
|
924
|
+
REGISTER_MIME("rnc", "application/relax-ng-compact-syntax");
|
925
|
+
REGISTER_MIME("roa", "application/rpki-roa");
|
926
|
+
REGISTER_MIME("roff", "text/troff");
|
927
|
+
REGISTER_MIME("rp9", "application/vnd.cloanto.rp9");
|
928
|
+
REGISTER_MIME("rpss", "application/vnd.nokia.radio-presets");
|
929
|
+
REGISTER_MIME("rpst", "application/vnd.nokia.radio-preset");
|
930
|
+
REGISTER_MIME("rq", "application/sparql-query");
|
931
|
+
REGISTER_MIME("rs", "application/rls-services+xml");
|
932
|
+
REGISTER_MIME("rsd", "application/rsd+xml");
|
933
|
+
REGISTER_MIME("rss", "application/rss+xml");
|
934
|
+
REGISTER_MIME("rtf", "application/rtf");
|
935
|
+
REGISTER_MIME("rtx", "text/richtext");
|
936
|
+
REGISTER_MIME("s", "text/x-asm");
|
937
|
+
REGISTER_MIME("s3m", "audio/s3m");
|
938
|
+
REGISTER_MIME("saf", "application/vnd.yamaha.smaf-audio");
|
939
|
+
REGISTER_MIME("sbml", "application/sbml+xml");
|
940
|
+
REGISTER_MIME("sc", "application/vnd.ibm.secure-container");
|
941
|
+
REGISTER_MIME("scd", "application/x-msschedule");
|
942
|
+
REGISTER_MIME("scm", "application/vnd.lotus-screencam");
|
943
|
+
REGISTER_MIME("scq", "application/scvp-cv-request");
|
944
|
+
REGISTER_MIME("scs", "application/scvp-cv-response");
|
945
|
+
REGISTER_MIME("scurl", "text/vnd.curl.scurl");
|
946
|
+
REGISTER_MIME("sda", "application/vnd.stardivision.draw");
|
947
|
+
REGISTER_MIME("sdc", "application/vnd.stardivision.calc");
|
948
|
+
REGISTER_MIME("sdd", "application/vnd.stardivision.impress");
|
949
|
+
REGISTER_MIME("sdkd", "application/vnd.solent.sdkm+xml");
|
950
|
+
REGISTER_MIME("sdkm", "application/vnd.solent.sdkm+xml");
|
951
|
+
REGISTER_MIME("sdp", "application/sdp");
|
952
|
+
REGISTER_MIME("sdw", "application/vnd.stardivision.writer");
|
953
|
+
REGISTER_MIME("see", "application/vnd.seemail");
|
954
|
+
REGISTER_MIME("seed", "application/vnd.fdsn.seed");
|
955
|
+
REGISTER_MIME("sema", "application/vnd.sema");
|
956
|
+
REGISTER_MIME("semd", "application/vnd.semd");
|
957
|
+
REGISTER_MIME("semf", "application/vnd.semf");
|
958
|
+
REGISTER_MIME("ser", "application/java-serialized-object");
|
959
|
+
REGISTER_MIME("setpay", "application/set-payment-initiation");
|
960
|
+
REGISTER_MIME("setreg", "application/set-registration-initiation");
|
961
|
+
REGISTER_MIME("sfd-hdstx", "application/vnd.hydrostatix.sof-data");
|
962
|
+
REGISTER_MIME("sfs", "application/vnd.spotfire.sfs");
|
963
|
+
REGISTER_MIME("sfv", "text/x-sfv");
|
964
|
+
REGISTER_MIME("sgi", "image/sgi");
|
965
|
+
REGISTER_MIME("sgl", "application/vnd.stardivision.writer-global");
|
966
|
+
REGISTER_MIME("sgm", "text/sgml");
|
967
|
+
REGISTER_MIME("sgml", "text/sgml");
|
968
|
+
REGISTER_MIME("sh", "application/x-sh");
|
969
|
+
REGISTER_MIME("shar", "application/x-shar");
|
970
|
+
REGISTER_MIME("shf", "application/shf+xml");
|
971
|
+
REGISTER_MIME("sid", "image/x-mrsid-image");
|
972
|
+
REGISTER_MIME("sig", "application/pgp-signature");
|
973
|
+
REGISTER_MIME("sil", "audio/silk");
|
974
|
+
REGISTER_MIME("silo", "model/mesh");
|
975
|
+
REGISTER_MIME("sis", "application/vnd.symbian.install");
|
976
|
+
REGISTER_MIME("sisx", "application/vnd.symbian.install");
|
977
|
+
REGISTER_MIME("sit", "application/x-stuffit");
|
978
|
+
REGISTER_MIME("sitx", "application/x-stuffitx");
|
979
|
+
REGISTER_MIME("skd", "application/vnd.koan");
|
980
|
+
REGISTER_MIME("skm", "application/vnd.koan");
|
981
|
+
REGISTER_MIME("skp", "application/vnd.koan");
|
982
|
+
REGISTER_MIME("skt", "application/vnd.koan");
|
983
|
+
REGISTER_MIME("sldm", "application/vnd.ms-powerpoint.slide.macroenabled.12");
|
984
|
+
REGISTER_MIME(
|
985
|
+
"sldx",
|
986
|
+
"application/vnd.openxmlformats-officedocument.presentationml.slide");
|
987
|
+
REGISTER_MIME("slt", "application/vnd.epson.salt");
|
988
|
+
REGISTER_MIME("sm", "application/vnd.stepmania.stepchart");
|
989
|
+
REGISTER_MIME("smf", "application/vnd.stardivision.math");
|
990
|
+
REGISTER_MIME("smi", "application/smil+xml");
|
991
|
+
REGISTER_MIME("smil", "application/smil+xml");
|
992
|
+
REGISTER_MIME("smv", "video/x-smv");
|
993
|
+
REGISTER_MIME("smzip", "application/vnd.stepmania.package");
|
994
|
+
REGISTER_MIME("snd", "audio/basic");
|
995
|
+
REGISTER_MIME("snf", "application/x-font-snf");
|
996
|
+
REGISTER_MIME("so", "application/octet-stream");
|
997
|
+
REGISTER_MIME("spc", "application/x-pkcs7-certificates");
|
998
|
+
REGISTER_MIME("spf", "application/vnd.yamaha.smaf-phrase");
|
999
|
+
REGISTER_MIME("spl", "application/x-futuresplash");
|
1000
|
+
REGISTER_MIME("spot", "text/vnd.in3d.spot");
|
1001
|
+
REGISTER_MIME("spp", "application/scvp-vp-response");
|
1002
|
+
REGISTER_MIME("spq", "application/scvp-vp-request");
|
1003
|
+
REGISTER_MIME("spx", "audio/ogg");
|
1004
|
+
REGISTER_MIME("sql", "application/x-sql");
|
1005
|
+
REGISTER_MIME("src", "application/x-wais-source");
|
1006
|
+
REGISTER_MIME("srt", "application/x-subrip");
|
1007
|
+
REGISTER_MIME("sru", "application/sru+xml");
|
1008
|
+
REGISTER_MIME("srx", "application/sparql-results+xml");
|
1009
|
+
REGISTER_MIME("ssdl", "application/ssdl+xml");
|
1010
|
+
REGISTER_MIME("sse", "application/vnd.kodak-descriptor");
|
1011
|
+
REGISTER_MIME("ssf", "application/vnd.epson.ssf");
|
1012
|
+
REGISTER_MIME("ssml", "application/ssml+xml");
|
1013
|
+
REGISTER_MIME("st", "application/vnd.sailingtracker.track");
|
1014
|
+
REGISTER_MIME("stc", "application/vnd.sun.xml.calc.template");
|
1015
|
+
REGISTER_MIME("std", "application/vnd.sun.xml.draw.template");
|
1016
|
+
REGISTER_MIME("stf", "application/vnd.wt.stf");
|
1017
|
+
REGISTER_MIME("sti", "application/vnd.sun.xml.impress.template");
|
1018
|
+
REGISTER_MIME("stk", "application/hyperstudio");
|
1019
|
+
REGISTER_MIME("stl", "application/vnd.ms-pki.stl");
|
1020
|
+
REGISTER_MIME("str", "application/vnd.pg.format");
|
1021
|
+
REGISTER_MIME("stw", "application/vnd.sun.xml.writer.template");
|
1022
|
+
REGISTER_MIME("sub", "text/vnd.dvb.subtitle");
|
1023
|
+
REGISTER_MIME("sus", "application/vnd.sus-calendar");
|
1024
|
+
REGISTER_MIME("susp", "application/vnd.sus-calendar");
|
1025
|
+
REGISTER_MIME("sv4cpio", "application/x-sv4cpio");
|
1026
|
+
REGISTER_MIME("sv4crc", "application/x-sv4crc");
|
1027
|
+
REGISTER_MIME("svc", "application/vnd.dvb.service");
|
1028
|
+
REGISTER_MIME("svd", "application/vnd.svd");
|
1029
|
+
REGISTER_MIME("svg", "image/svg+xml");
|
1030
|
+
REGISTER_MIME("svgz", "image/svg+xml");
|
1031
|
+
REGISTER_MIME("swa", "application/x-director");
|
1032
|
+
REGISTER_MIME("swf", "application/x-shockwave-flash");
|
1033
|
+
REGISTER_MIME("swi", "application/vnd.aristanetworks.swi");
|
1034
|
+
REGISTER_MIME("sxc", "application/vnd.sun.xml.calc");
|
1035
|
+
REGISTER_MIME("sxd", "application/vnd.sun.xml.draw");
|
1036
|
+
REGISTER_MIME("sxg", "application/vnd.sun.xml.writer.global");
|
1037
|
+
REGISTER_MIME("sxi", "application/vnd.sun.xml.impress");
|
1038
|
+
REGISTER_MIME("sxm", "application/vnd.sun.xml.math");
|
1039
|
+
REGISTER_MIME("sxw", "application/vnd.sun.xml.writer");
|
1040
|
+
REGISTER_MIME("t", "text/troff");
|
1041
|
+
REGISTER_MIME("t3", "application/x-t3vm-image");
|
1042
|
+
REGISTER_MIME("taglet", "application/vnd.mynfc");
|
1043
|
+
REGISTER_MIME("tao", "application/vnd.tao.intent-module-archive");
|
1044
|
+
REGISTER_MIME("tar", "application/x-tar");
|
1045
|
+
REGISTER_MIME("tcap", "application/vnd.3gpp2.tcap");
|
1046
|
+
REGISTER_MIME("tcl", "application/x-tcl");
|
1047
|
+
REGISTER_MIME("teacher", "application/vnd.smart.teacher");
|
1048
|
+
REGISTER_MIME("tei", "application/tei+xml");
|
1049
|
+
REGISTER_MIME("teicorpus", "application/tei+xml");
|
1050
|
+
REGISTER_MIME("tex", "application/x-tex");
|
1051
|
+
REGISTER_MIME("texi", "application/x-texinfo");
|
1052
|
+
REGISTER_MIME("texinfo", "application/x-texinfo");
|
1053
|
+
REGISTER_MIME("text", "text/plain");
|
1054
|
+
REGISTER_MIME("tfi", "application/thraud+xml");
|
1055
|
+
REGISTER_MIME("tfm", "application/x-tex-tfm");
|
1056
|
+
REGISTER_MIME("tga", "image/x-tga");
|
1057
|
+
REGISTER_MIME("thmx", "application/vnd.ms-officetheme");
|
1058
|
+
REGISTER_MIME("tif", "image/tiff");
|
1059
|
+
REGISTER_MIME("tiff", "image/tiff");
|
1060
|
+
REGISTER_MIME("tmo", "application/vnd.tmobile-livetv");
|
1061
|
+
REGISTER_MIME("torrent", "application/x-bittorrent");
|
1062
|
+
REGISTER_MIME("tpl", "application/vnd.groove-tool-template");
|
1063
|
+
REGISTER_MIME("tpt", "application/vnd.trid.tpt");
|
1064
|
+
REGISTER_MIME("tr", "text/troff");
|
1065
|
+
REGISTER_MIME("tra", "application/vnd.trueapp");
|
1066
|
+
REGISTER_MIME("trm", "application/x-msterminal");
|
1067
|
+
REGISTER_MIME("tsd", "application/timestamped-data");
|
1068
|
+
REGISTER_MIME("tsv", "text/tab-separated-values");
|
1069
|
+
REGISTER_MIME("ttc", "application/x-font-ttf");
|
1070
|
+
REGISTER_MIME("ttf", "application/x-font-ttf");
|
1071
|
+
REGISTER_MIME("ttl", "text/turtle");
|
1072
|
+
REGISTER_MIME("twd", "application/vnd.simtech-mindmapper");
|
1073
|
+
REGISTER_MIME("twds", "application/vnd.simtech-mindmapper");
|
1074
|
+
REGISTER_MIME("txd", "application/vnd.genomatix.tuxedo");
|
1075
|
+
REGISTER_MIME("txf", "application/vnd.mobius.txf");
|
1076
|
+
REGISTER_MIME("txt", "text/plain");
|
1077
|
+
REGISTER_MIME("u32", "application/x-authorware-bin");
|
1078
|
+
REGISTER_MIME("udeb", "application/x-debian-package");
|
1079
|
+
REGISTER_MIME("ufd", "application/vnd.ufdl");
|
1080
|
+
REGISTER_MIME("ufdl", "application/vnd.ufdl");
|
1081
|
+
REGISTER_MIME("ulx", "application/x-glulx");
|
1082
|
+
REGISTER_MIME("umj", "application/vnd.umajin");
|
1083
|
+
REGISTER_MIME("unityweb", "application/vnd.unity");
|
1084
|
+
REGISTER_MIME("uoml", "application/vnd.uoml+xml");
|
1085
|
+
REGISTER_MIME("uri", "text/uri-list");
|
1086
|
+
REGISTER_MIME("uris", "text/uri-list");
|
1087
|
+
REGISTER_MIME("urls", "text/uri-list");
|
1088
|
+
REGISTER_MIME("ustar", "application/x-ustar");
|
1089
|
+
REGISTER_MIME("utz", "application/vnd.uiq.theme");
|
1090
|
+
REGISTER_MIME("uu", "text/x-uuencode");
|
1091
|
+
REGISTER_MIME("uva", "audio/vnd.dece.audio");
|
1092
|
+
REGISTER_MIME("uvd", "application/vnd.dece.data");
|
1093
|
+
REGISTER_MIME("uvf", "application/vnd.dece.data");
|
1094
|
+
REGISTER_MIME("uvg", "image/vnd.dece.graphic");
|
1095
|
+
REGISTER_MIME("uvh", "video/vnd.dece.hd");
|
1096
|
+
REGISTER_MIME("uvi", "image/vnd.dece.graphic");
|
1097
|
+
REGISTER_MIME("uvm", "video/vnd.dece.mobile");
|
1098
|
+
REGISTER_MIME("uvp", "video/vnd.dece.pd");
|
1099
|
+
REGISTER_MIME("uvs", "video/vnd.dece.sd");
|
1100
|
+
REGISTER_MIME("uvt", "application/vnd.dece.ttml+xml");
|
1101
|
+
REGISTER_MIME("uvu", "video/vnd.uvvu.mp4");
|
1102
|
+
REGISTER_MIME("uvv", "video/vnd.dece.video");
|
1103
|
+
REGISTER_MIME("uvva", "audio/vnd.dece.audio");
|
1104
|
+
REGISTER_MIME("uvvd", "application/vnd.dece.data");
|
1105
|
+
REGISTER_MIME("uvvf", "application/vnd.dece.data");
|
1106
|
+
REGISTER_MIME("uvvg", "image/vnd.dece.graphic");
|
1107
|
+
REGISTER_MIME("uvvh", "video/vnd.dece.hd");
|
1108
|
+
REGISTER_MIME("uvvi", "image/vnd.dece.graphic");
|
1109
|
+
REGISTER_MIME("uvvm", "video/vnd.dece.mobile");
|
1110
|
+
REGISTER_MIME("uvvp", "video/vnd.dece.pd");
|
1111
|
+
REGISTER_MIME("uvvs", "video/vnd.dece.sd");
|
1112
|
+
REGISTER_MIME("uvvt", "application/vnd.dece.ttml+xml");
|
1113
|
+
REGISTER_MIME("uvvu", "video/vnd.uvvu.mp4");
|
1114
|
+
REGISTER_MIME("uvvv", "video/vnd.dece.video");
|
1115
|
+
REGISTER_MIME("uvvx", "application/vnd.dece.unspecified");
|
1116
|
+
REGISTER_MIME("uvvz", "application/vnd.dece.zip");
|
1117
|
+
REGISTER_MIME("uvx", "application/vnd.dece.unspecified");
|
1118
|
+
REGISTER_MIME("uvz", "application/vnd.dece.zip");
|
1119
|
+
REGISTER_MIME("vcard", "text/vcard");
|
1120
|
+
REGISTER_MIME("vcd", "application/x-cdlink");
|
1121
|
+
REGISTER_MIME("vcf", "text/x-vcard");
|
1122
|
+
REGISTER_MIME("vcg", "application/vnd.groove-vcard");
|
1123
|
+
REGISTER_MIME("vcs", "text/x-vcalendar");
|
1124
|
+
REGISTER_MIME("vcx", "application/vnd.vcx");
|
1125
|
+
REGISTER_MIME("vis", "application/vnd.visionary");
|
1126
|
+
REGISTER_MIME("viv", "video/vnd.vivo");
|
1127
|
+
REGISTER_MIME("vob", "video/x-ms-vob");
|
1128
|
+
REGISTER_MIME("vor", "application/vnd.stardivision.writer");
|
1129
|
+
REGISTER_MIME("vox", "application/x-authorware-bin");
|
1130
|
+
REGISTER_MIME("vrml", "model/vrml");
|
1131
|
+
REGISTER_MIME("vsd", "application/vnd.visio");
|
1132
|
+
REGISTER_MIME("vsf", "application/vnd.vsf");
|
1133
|
+
REGISTER_MIME("vss", "application/vnd.visio");
|
1134
|
+
REGISTER_MIME("vst", "application/vnd.visio");
|
1135
|
+
REGISTER_MIME("vsw", "application/vnd.visio");
|
1136
|
+
REGISTER_MIME("vtu", "model/vnd.vtu");
|
1137
|
+
REGISTER_MIME("vxml", "application/voicexml+xml");
|
1138
|
+
REGISTER_MIME("w3d", "application/x-director");
|
1139
|
+
REGISTER_MIME("wad", "application/x-doom");
|
1140
|
+
REGISTER_MIME("wav", "audio/x-wav");
|
1141
|
+
REGISTER_MIME("wax", "audio/x-ms-wax");
|
1142
|
+
REGISTER_MIME("wbmp", "image/vnd.wap.wbmp");
|
1143
|
+
REGISTER_MIME("wbs", "application/vnd.criticaltools.wbs+xml");
|
1144
|
+
REGISTER_MIME("wbxml", "application/vnd.wap.wbxml");
|
1145
|
+
REGISTER_MIME("wcm", "application/vnd.ms-works");
|
1146
|
+
REGISTER_MIME("wdb", "application/vnd.ms-works");
|
1147
|
+
REGISTER_MIME("wdp", "image/vnd.ms-photo");
|
1148
|
+
REGISTER_MIME("weba", "audio/webm");
|
1149
|
+
REGISTER_MIME("webm", "video/webm");
|
1150
|
+
REGISTER_MIME("webp", "image/webp");
|
1151
|
+
REGISTER_MIME("wg", "application/vnd.pmi.widget");
|
1152
|
+
REGISTER_MIME("wgt", "application/widget");
|
1153
|
+
REGISTER_MIME("wks", "application/vnd.ms-works");
|
1154
|
+
REGISTER_MIME("wm", "video/x-ms-wm");
|
1155
|
+
REGISTER_MIME("wma", "audio/x-ms-wma");
|
1156
|
+
REGISTER_MIME("wmd", "application/x-ms-wmd");
|
1157
|
+
REGISTER_MIME("wmf", "application/x-msmetafile");
|
1158
|
+
REGISTER_MIME("wml", "text/vnd.wap.wml");
|
1159
|
+
REGISTER_MIME("wmlc", "application/vnd.wap.wmlc");
|
1160
|
+
REGISTER_MIME("wmls", "text/vnd.wap.wmlscript");
|
1161
|
+
REGISTER_MIME("wmlsc", "application/vnd.wap.wmlscriptc");
|
1162
|
+
REGISTER_MIME("wmv", "video/x-ms-wmv");
|
1163
|
+
REGISTER_MIME("wmx", "video/x-ms-wmx");
|
1164
|
+
REGISTER_MIME("wmz", "application/x-ms-wmz");
|
1165
|
+
// REGISTER_MIME("wmz", "application/x-msmetafile");
|
1166
|
+
REGISTER_MIME("woff", "application/font-woff");
|
1167
|
+
REGISTER_MIME("wpd", "application/vnd.wordperfect");
|
1168
|
+
REGISTER_MIME("wpl", "application/vnd.ms-wpl");
|
1169
|
+
REGISTER_MIME("wps", "application/vnd.ms-works");
|
1170
|
+
REGISTER_MIME("wqd", "application/vnd.wqd");
|
1171
|
+
REGISTER_MIME("wri", "application/x-mswrite");
|
1172
|
+
REGISTER_MIME("wrl", "model/vrml");
|
1173
|
+
REGISTER_MIME("wsdl", "application/wsdl+xml");
|
1174
|
+
REGISTER_MIME("wspolicy", "application/wspolicy+xml");
|
1175
|
+
REGISTER_MIME("wtb", "application/vnd.webturbo");
|
1176
|
+
REGISTER_MIME("wvx", "video/x-ms-wvx");
|
1177
|
+
REGISTER_MIME("x32", "application/x-authorware-bin");
|
1178
|
+
REGISTER_MIME("x3d", "model/x3d+xml");
|
1179
|
+
REGISTER_MIME("x3db", "model/x3d+binary");
|
1180
|
+
REGISTER_MIME("x3dbz", "model/x3d+binary");
|
1181
|
+
REGISTER_MIME("x3dv", "model/x3d+vrml");
|
1182
|
+
REGISTER_MIME("x3dvz", "model/x3d+vrml");
|
1183
|
+
REGISTER_MIME("x3dz", "model/x3d+xml");
|
1184
|
+
REGISTER_MIME("xaml", "application/xaml+xml");
|
1185
|
+
REGISTER_MIME("xap", "application/x-silverlight-app");
|
1186
|
+
REGISTER_MIME("xar", "application/vnd.xara");
|
1187
|
+
REGISTER_MIME("xbap", "application/x-ms-xbap");
|
1188
|
+
REGISTER_MIME("xbd", "application/vnd.fujixerox.docuworks.binder");
|
1189
|
+
REGISTER_MIME("xbm", "image/x-xbitmap");
|
1190
|
+
REGISTER_MIME("xdf", "application/xcap-diff+xml");
|
1191
|
+
REGISTER_MIME("xdm", "application/vnd.syncml.dm+xml");
|
1192
|
+
REGISTER_MIME("xdp", "application/vnd.adobe.xdp+xml");
|
1193
|
+
REGISTER_MIME("xdssc", "application/dssc+xml");
|
1194
|
+
REGISTER_MIME("xdw", "application/vnd.fujixerox.docuworks");
|
1195
|
+
REGISTER_MIME("xenc", "application/xenc+xml");
|
1196
|
+
REGISTER_MIME("xer", "application/patch-ops-error+xml");
|
1197
|
+
REGISTER_MIME("xfdf", "application/vnd.adobe.xfdf");
|
1198
|
+
REGISTER_MIME("xfdl", "application/vnd.xfdl");
|
1199
|
+
REGISTER_MIME("xht", "application/xhtml+xml");
|
1200
|
+
REGISTER_MIME("xhtml", "application/xhtml+xml");
|
1201
|
+
REGISTER_MIME("xhvml", "application/xv+xml");
|
1202
|
+
REGISTER_MIME("xif", "image/vnd.xiff");
|
1203
|
+
REGISTER_MIME("xla", "application/vnd.ms-excel");
|
1204
|
+
REGISTER_MIME("xlam", "application/vnd.ms-excel.addin.macroenabled.12");
|
1205
|
+
REGISTER_MIME("xlc", "application/vnd.ms-excel");
|
1206
|
+
REGISTER_MIME("xlf", "application/x-xliff+xml");
|
1207
|
+
REGISTER_MIME("xlm", "application/vnd.ms-excel");
|
1208
|
+
REGISTER_MIME("xls", "application/vnd.ms-excel");
|
1209
|
+
REGISTER_MIME("xlsb",
|
1210
|
+
"application/vnd.ms-excel.sheet.binary.macroenabled.12");
|
1211
|
+
REGISTER_MIME("xlsm", "application/vnd.ms-excel.sheet.macroenabled.12");
|
1212
|
+
REGISTER_MIME(
|
1213
|
+
"xlsx",
|
1214
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
1215
|
+
REGISTER_MIME("xlt", "application/vnd.ms-excel");
|
1216
|
+
REGISTER_MIME("xltm", "application/vnd.ms-excel.template.macroenabled.12");
|
1217
|
+
REGISTER_MIME(
|
1218
|
+
"xltx",
|
1219
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.template");
|
1220
|
+
REGISTER_MIME("xlw", "application/vnd.ms-excel");
|
1221
|
+
REGISTER_MIME("xm", "audio/xm");
|
1222
|
+
REGISTER_MIME("xml", "application/xml");
|
1223
|
+
REGISTER_MIME("xo", "application/vnd.olpc-sugar");
|
1224
|
+
REGISTER_MIME("xop", "application/xop+xml");
|
1225
|
+
REGISTER_MIME("xpi", "application/x-xpinstall");
|
1226
|
+
REGISTER_MIME("xpl", "application/xproc+xml");
|
1227
|
+
REGISTER_MIME("xpm", "image/x-xpixmap");
|
1228
|
+
REGISTER_MIME("xpr", "application/vnd.is-xpr");
|
1229
|
+
REGISTER_MIME("xps", "application/vnd.ms-xpsdocument");
|
1230
|
+
REGISTER_MIME("xpw", "application/vnd.intercon.formnet");
|
1231
|
+
REGISTER_MIME("xpx", "application/vnd.intercon.formnet");
|
1232
|
+
REGISTER_MIME("xsl", "application/xml");
|
1233
|
+
REGISTER_MIME("xslt", "application/xslt+xml");
|
1234
|
+
REGISTER_MIME("xsm", "application/vnd.syncml+xml");
|
1235
|
+
REGISTER_MIME("xspf", "application/xspf+xml");
|
1236
|
+
REGISTER_MIME("xul", "application/vnd.mozilla.xul+xml");
|
1237
|
+
REGISTER_MIME("xvm", "application/xv+xml");
|
1238
|
+
REGISTER_MIME("xvml", "application/xv+xml");
|
1239
|
+
REGISTER_MIME("xwd", "image/x-xwindowdump");
|
1240
|
+
REGISTER_MIME("xyz", "chemical/x-xyz");
|
1241
|
+
REGISTER_MIME("xz", "application/x-xz");
|
1242
|
+
REGISTER_MIME("yang", "application/yang");
|
1243
|
+
REGISTER_MIME("yin", "application/yin+xml");
|
1244
|
+
REGISTER_MIME("z1", "application/x-zmachine");
|
1245
|
+
REGISTER_MIME("z2", "application/x-zmachine");
|
1246
|
+
REGISTER_MIME("z3", "application/x-zmachine");
|
1247
|
+
REGISTER_MIME("z4", "application/x-zmachine");
|
1248
|
+
REGISTER_MIME("z5", "application/x-zmachine");
|
1249
|
+
REGISTER_MIME("z6", "application/x-zmachine");
|
1250
|
+
REGISTER_MIME("z7", "application/x-zmachine");
|
1251
|
+
REGISTER_MIME("z8", "application/x-zmachine");
|
1252
|
+
REGISTER_MIME("zaz", "application/vnd.zzazz.deck+xml");
|
1253
|
+
REGISTER_MIME("zip", "application/zip");
|
1254
|
+
REGISTER_MIME("zir", "application/vnd.zul");
|
1255
|
+
REGISTER_MIME("zirz", "application/vnd.zul");
|
1256
|
+
REGISTER_MIME("zmm", "application/vnd.handheld-entertainment+xml");
|
1257
|
+
#undef REGISTER_MIME
|
1258
|
+
}
|