// // Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // #ifndef BEAST_HTTP_EMPTY_BODY_HPP #define BEAST_HTTP_EMPTY_BODY_HPP #include #include #include #include #include #include #include namespace beast { namespace http { /** An empty content-body. Meets the requirements of @b `Body`. */ struct empty_body { #if GENERATING_DOCS /// The type of the `message::body` member using value_type = void; #else struct value_type {}; #endif #if GENERATING_DOCS private: #endif struct writer { template explicit writer(message const& m) noexcept { beast::detail::ignore_unused(m); } void init(error_code& ec) noexcept { beast::detail::ignore_unused(ec); } std::uint64_t content_length() const noexcept { return 0; } template bool write(error_code&, WriteFunction&& wf) noexcept { wf(boost::asio::null_buffers{}); return true; } }; }; } // http } // beast #endif