diff options
author | Carlos Garcia Campos <cgarcia@igalia.com> | 2021-02-17 14:08:40 +0100 |
---|---|---|
committer | Carlos Garcia Campos <cgarcia@igalia.com> | 2021-02-17 14:08:40 +0100 |
commit | f7df4e4e1f7314ff309e4d26fcd7f352c33870ef (patch) | |
tree | 447b80f3afe518bb8532a0823f61f0d6ed14c4eb | |
parent | 31ecf6fc4060aca502f5a6ef4174162ae216ecb7 (diff) | |
download | libsoup-carlosgc/sniff-empty.tar.gz |
content-sniffer: empty resources should be considered text/plaincarlosgc/sniff-empty
Instead of application/octet-stream according to the HTML5 spec
-rw-r--r-- | libsoup/content-sniffer/soup-content-sniffer.c | 2 | ||||
-rw-r--r-- | tests/sniffing-test.c | 13 |
2 files changed, 10 insertions, 5 deletions
diff --git a/libsoup/content-sniffer/soup-content-sniffer.c b/libsoup/content-sniffer/soup-content-sniffer.c index f5a13d18..948dc182 100644 --- a/libsoup/content-sniffer/soup-content-sniffer.c +++ b/libsoup/content-sniffer/soup-content-sniffer.c @@ -507,7 +507,7 @@ sniff_unknown (SoupContentSniffer *sniffer, GBytes *buffer, guint i; if (resource_length == 0) - return g_strdup ("application/octet-stream"); + return g_strdup ("text/plain"); for (i = 0; i < G_N_ELEMENTS (types_table); i++) { SoupContentSnifferPattern *type_row = &(types_table[i]); diff --git a/tests/sniffing-test.c b/tests/sniffing-test.c index 1f2bb911..23e05c1a 100644 --- a/tests/sniffing-test.c +++ b/tests/sniffing-test.c @@ -79,11 +79,13 @@ server_callback (SoupServer *server, } if (g_str_has_prefix (path, "/unknown/")) { - char *base_name = g_path_get_basename (path); + if (!empty_response) { + char *base_name = g_path_get_basename (path); - response = soup_test_load_resource (base_name, &error); - g_assert_no_error (error); - g_free (base_name); + response = soup_test_load_resource (base_name, &error); + g_assert_no_error (error); + g_free (base_name); + } soup_message_headers_append (response_headers, "Content-Type", "UNKNOWN/unknown"); @@ -439,6 +441,9 @@ main (int argc, char **argv) g_test_add_data_func ("/sniffing/type/unknown-mbox", "unknown/mbox => text/plain", do_sniffing_test); + g_test_add_data_func ("/sniffing/type/unknown-empty", + "unknown/mbox?empty_response=yes => text/plain", + do_sniffing_test); g_test_add_data_func ("/sniffing/type/unknown-binary", "unknown/text_binary.txt => application/octet-stream", do_sniffing_test); |