From 87351c8a0c5893f6d7ecaef110e7078fe4f28b29 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Thu, 24 Jul 2014 10:33:43 -0700 Subject: [PATCH] Add HTTPHeaders::build_map --- .../beast/module/asio/http/HTTPHeaders.cpp | 18 ++++++++++++++++++ src/beast/beast/module/asio/http/HTTPHeaders.h | 6 +++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/beast/beast/module/asio/http/HTTPHeaders.cpp b/src/beast/beast/module/asio/http/HTTPHeaders.cpp index 18e7cbb79..ce865f7a7 100644 --- a/src/beast/beast/module/asio/http/HTTPHeaders.cpp +++ b/src/beast/beast/module/asio/http/HTTPHeaders.cpp @@ -17,6 +17,8 @@ */ //============================================================================== +#include + namespace beast { HTTPHeaders::HTTPHeaders () @@ -86,4 +88,20 @@ String HTTPHeaders::toString () const return s; } +std::map +HTTPHeaders::build_map() const +{ + std::map c; + auto const& k (m_fields.getAllKeys()); + auto const& v (m_fields.getAllValues()); + for (std::size_t i = 0; i < m_fields.size(); ++i) + { + auto key (k[i].toStdString()); + auto const value (v[i].toStdString()); + std::transform (key.begin(), key.end(), key.begin(), ::tolower); + c[key] = value; + } + return c; +} + } diff --git a/src/beast/beast/module/asio/http/HTTPHeaders.h b/src/beast/beast/module/asio/http/HTTPHeaders.h index a5129a015..e89dd3df3 100644 --- a/src/beast/beast/module/asio/http/HTTPHeaders.h +++ b/src/beast/beast/module/asio/http/HTTPHeaders.h @@ -21,8 +21,8 @@ #define BEAST_ASIO_HTTPHEADERS_H_INCLUDED #include - #include +#include namespace beast { @@ -70,6 +70,10 @@ public: /** Outputs all the headers into one string. */ String toString () const; + // VFALCO HACK to present the headers in a useful format + std::map + build_map() const; + private: StringPairArray m_fields; };