#ifndef XRPL_SERVER_SIMPLEWRITER_H_INCLUDED #define XRPL_SERVER_SIMPLEWRITER_H_INCLUDED #include #include #include #include #include #include namespace ripple { /// Deprecated: Writer that serializes a HTTP/1 message class SimpleWriter : public Writer { boost::beast::multi_buffer sb_; public: template explicit SimpleWriter( boost::beast::http::message const& msg) { boost::beast::ostream(sb_) << msg; } bool complete() override { return sb_.size() == 0; } void consume(std::size_t bytes) override { sb_.consume(bytes); } bool prepare(std::size_t bytes, std::function) override { return true; } std::vector data() override { auto const& buf = sb_.data(); std::vector result; result.reserve(std::distance(buf.begin(), buf.end())); for (auto const b : buf) result.push_back(b); return result; } }; } // namespace ripple #endif