Use enum overload for field setting
There are two overloads of addHeader, one that takes a string, and one
that takes a boost enum. For most common headers, boost contains a
string table with all of those entries anyway, so there's no point in
duplicating the strings, and ensures that we don't make trivial
mistakes, like capitalization or - versus underscore that aren't caught
at compile time.
Tested:
This saves a trivial amount (572 bytes) of compressed binary size.
curl --insecure -vvv --user root:0penBmc https://192.168.7.2/redfish/v1
returns < Content-Type: application/json
curl --insecure -vvv -H "Accept: text/html" --user root:0penBmc https://192.168.7.2/redfish/v1
Returns
< Content-Type: text/html;charset=UTF-8
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I34c198b4f9e219247fcfe719f9b3616d35aea3dc
diff --git a/include/webassets.hpp b/include/webassets.hpp
index 3d25296..cd57eb3 100644
--- a/include/webassets.hpp
+++ b/include/webassets.hpp
@@ -152,13 +152,15 @@
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp) {
if (contentType != nullptr)
{
- asyncResp->res.addHeader("Content-Type", contentType);
+ asyncResp->res.addHeader(
+ boost::beast::http::field::content_type, contentType);
}
if (contentEncoding != nullptr)
{
- asyncResp->res.addHeader("Content-Encoding",
- contentEncoding);
+ asyncResp->res.addHeader(
+ boost::beast::http::field::content_encoding,
+ contentEncoding);
}
// res.set_header("Cache-Control", "public, max-age=86400");