1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 08:37:45 +00:00

LibCore: Return StringView from guess_mime_type_based_on_filename method

This commit is contained in:
Liav A 2023-01-20 01:57:33 +02:00 committed by Linus Groh
parent 2428ba3832
commit e77b110541
2 changed files with 24 additions and 24 deletions

View file

@ -51,48 +51,48 @@ void MimeData::set_text(DeprecatedString const& text)
set_data("text/plain", text.to_byte_buffer()); set_data("text/plain", text.to_byte_buffer());
} }
DeprecatedString guess_mime_type_based_on_filename(StringView path) StringView guess_mime_type_based_on_filename(StringView path)
{ {
if (path.ends_with(".pbm"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".pbm"sv, CaseSensitivity::CaseInsensitive))
return "image/xportablebitmap"; return "image/xportablebitmap"sv;
if (path.ends_with(".pgm"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".pgm"sv, CaseSensitivity::CaseInsensitive))
return "image/xportablegraymap"; return "image/xportablegraymap"sv;
if (path.ends_with(".png"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".png"sv, CaseSensitivity::CaseInsensitive))
return "image/png"; return "image/png"sv;
if (path.ends_with(".ppm"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".ppm"sv, CaseSensitivity::CaseInsensitive))
return "image/xportablepixmap"; return "image/xportablepixmap"sv;
if (path.ends_with(".gif"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".gif"sv, CaseSensitivity::CaseInsensitive))
return "image/gif"; return "image/gif"sv;
if (path.ends_with(".bmp"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".bmp"sv, CaseSensitivity::CaseInsensitive))
return "image/bmp"; return "image/bmp"sv;
if (path.ends_with(".jpg"sv, CaseSensitivity::CaseInsensitive) || path.ends_with(".jpeg"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".jpg"sv, CaseSensitivity::CaseInsensitive) || path.ends_with(".jpeg"sv, CaseSensitivity::CaseInsensitive))
return "image/jpeg"; return "image/jpeg"sv;
if (path.ends_with(".qoi"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".qoi"sv, CaseSensitivity::CaseInsensitive))
return "image/x-qoi"; return "image/x-qoi"sv;
if (path.ends_with(".svg"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".svg"sv, CaseSensitivity::CaseInsensitive))
return "image/svg+xml"; return "image/svg+xml"sv;
if (path.ends_with(".md"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".md"sv, CaseSensitivity::CaseInsensitive))
return "text/markdown"; return "text/markdown"sv;
if (path.ends_with(".html"sv, CaseSensitivity::CaseInsensitive) || path.ends_with(".htm"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".html"sv, CaseSensitivity::CaseInsensitive) || path.ends_with(".htm"sv, CaseSensitivity::CaseInsensitive))
return "text/html"; return "text/html"sv;
if (path.ends_with(".css"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".css"sv, CaseSensitivity::CaseInsensitive))
return "text/css"; return "text/css"sv;
if (path.ends_with(".icc"sv, CaseSensitivity::CaseInsensitive) || path.ends_with(".icm"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".icc"sv, CaseSensitivity::CaseInsensitive) || path.ends_with(".icm"sv, CaseSensitivity::CaseInsensitive))
return "application/vnd.iccprofile"; return "application/vnd.iccprofile"sv;
if (path.ends_with(".js"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".js"sv, CaseSensitivity::CaseInsensitive))
return "application/javascript"; return "application/javascript"sv;
if (path.ends_with(".json"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".json"sv, CaseSensitivity::CaseInsensitive))
return "application/json"; return "application/json"sv;
if (path.ends_with(".zip"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".zip"sv, CaseSensitivity::CaseInsensitive))
return "application/zip"; return "application/zip"sv;
if (path.ends_with(".md"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".md"sv, CaseSensitivity::CaseInsensitive))
return "text/markdown"; return "text/markdown"sv;
if (path.ends_with("/"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with("/"sv, CaseSensitivity::CaseInsensitive))
return "text/html"; return "text/html"sv;
if (path.ends_with(".csv"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".csv"sv, CaseSensitivity::CaseInsensitive))
return "text/csv"; return "text/csv"sv;
if (path.ends_with(".sheets"sv, CaseSensitivity::CaseInsensitive)) if (path.ends_with(".sheets"sv, CaseSensitivity::CaseInsensitive))
return "application/x-sheets+json"; return "application/x-sheets+json"sv;
// FIXME: Share this, TextEditor and HackStudio language detection somehow. // FIXME: Share this, TextEditor and HackStudio language detection somehow.
auto basename = LexicalPath::basename(path); auto basename = LexicalPath::basename(path);
if (path.ends_with(".cpp"sv, CaseSensitivity::CaseInsensitive) if (path.ends_with(".cpp"sv, CaseSensitivity::CaseInsensitive)
@ -106,8 +106,8 @@ DeprecatedString guess_mime_type_based_on_filename(StringView path)
|| basename == "CMakeLists.txt" || basename == "CMakeLists.txt"
|| basename == ".history" || basename == ".history"
|| basename == ".shellrc") || basename == ".shellrc")
return "text/plain"; return "text/plain"sv;
return "application/octet-stream"; return "application/octet-stream"sv;
} }
#define ENUMERATE_HEADER_CONTENTS \ #define ENUMERATE_HEADER_CONTENTS \

View file

@ -48,7 +48,7 @@ private:
HashMap<DeprecatedString, ByteBuffer> m_data; HashMap<DeprecatedString, ByteBuffer> m_data;
}; };
DeprecatedString guess_mime_type_based_on_filename(StringView); StringView guess_mime_type_based_on_filename(StringView);
Optional<DeprecatedString> guess_mime_type_based_on_sniffed_bytes(ReadonlyBytes); Optional<DeprecatedString> guess_mime_type_based_on_sniffed_bytes(ReadonlyBytes);