Fix #2871 - accept * in mg_http_serve_opts::mime_types

This commit is contained in:
Sergey Lyubka committed 2024-09-02 06:12:02 +01:00
1 parent 44b3d60692
commit eeecbbcff9
3 files changed
+27 -8

No files matched your search

+4 -2
View File
@@ -2737,7 +2737,7 @@ static struct mg_str s_known_types[] = {
// clang-format on
static struct mg_str guess_content_type(struct mg_str path, const char *extra) {
struct mg_str entry, k, v, s = mg_str(extra);
struct mg_str entry, k, v, s = mg_str(extra), asterisk = mg_str_n("*", 1);
size_t i = 0;
// Shrink path to its extension only
@@ -2747,7 +2747,9 @@ static struct mg_str guess_content_type(struct mg_str path, const char *extra) {
// Process user-provided mime type overrides, if any
while (mg_span(s, &entry, &s, ',')) {
if (mg_span(entry, &k, &v, '=') && mg_strcmp(path, k) == 0) return v;
if (mg_span(entry, &k, &v, '=') &&
(mg_strcmp(asterisk, k) == 0 || mg_strcmp(path, k) == 0))
return v;
}
// Process built-in mime types