diff --git a/include/http_utility.hpp b/include/http_utility.hpp
index ef65e23..740e218 100644
--- a/include/http_utility.hpp
+++ b/include/http_utility.hpp
@@ -5,14 +5,20 @@
 
 namespace http_helpers
 {
-inline bool requestPrefersHtml(std::string_view header)
+inline std::vector<std::string> parseAccept(std::string_view header)
 {
     std::vector<std::string> encodings;
     // chrome currently sends 6 accepts headers, firefox sends 4.
     encodings.reserve(6);
     boost::split(encodings, header, boost::is_any_of(", "),
                  boost::token_compress_on);
-    for (const std::string& encoding : encodings)
+
+    return encodings;
+}
+
+inline bool requestPrefersHtml(std::string_view header)
+{
+    for (const std::string& encoding : parseAccept(header))
     {
         if (encoding == "text/html")
         {
@@ -26,6 +32,18 @@
     return false;
 }
 
+inline bool isOctetAccepted(std::string_view header)
+{
+    for (const std::string& encoding : parseAccept(header))
+    {
+        if (encoding == "*/*" || encoding == "application/octet-stream")
+        {
+            return true;
+        }
+    }
+    return false;
+}
+
 inline std::string urlEncode(const std::string_view value)
 {
     std::ostringstream escaped;
