diff --git a/lib/SimpleHttpClient/SimpleHttpResult.cpp b/lib/SimpleHttpClient/SimpleHttpResult.cpp index ade99a9f72..5889f02b57 100644 --- a/lib/SimpleHttpClient/SimpleHttpResult.cpp +++ b/lib/SimpleHttpClient/SimpleHttpResult.cpp @@ -31,6 +31,9 @@ #include "SimpleHttpResult.h" #include "Basics/StringUtils.h" +#include +#include + using namespace triagens::basics; using namespace std; @@ -81,6 +84,12 @@ namespace triagens { return _resultBody; } + std::shared_ptr SimpleHttpResult::getBodyVelocyPack (VPackOptions const& options) const { + VPackParser parser(&options); + parser.parse(_resultBody.c_str()); + return parser.steal(); + } + string SimpleHttpResult::getResultTypeMessage () const { switch (_requestResultType) { case (COMPLETE): diff --git a/lib/SimpleHttpClient/SimpleHttpResult.h b/lib/SimpleHttpClient/SimpleHttpResult.h index 77cd2d5f3c..367afeba71 100644 --- a/lib/SimpleHttpClient/SimpleHttpResult.h +++ b/lib/SimpleHttpClient/SimpleHttpResult.h @@ -34,6 +34,10 @@ #include "Basics/Common.h" #include "Basics/StringBuffer.h" +#include +#include +#include + //////////////////////////////////////////////////////////////////////////////// /// @brief class for storing a request result //////////////////////////////////////////////////////////////////////////////// @@ -159,6 +163,13 @@ namespace triagens { triagens::basics::StringBuffer const& getBody () const; + +//////////////////////////////////////////////////////////////////////////////// +/// @brief returns the http body as velocypack +//////////////////////////////////////////////////////////////////////////////// + + std::shared_ptr getBodyVelocyPack (VPackOptions const&) const; + //////////////////////////////////////////////////////////////////////////////// /// @brief returns the request result type ////////////////////////////////////////////////////////////////////////////////