Refactor beast core, http, tests, and examples:

* Fix warnings
* Port cmake scripts to linux
* Add command line options for running test suites
* Add examples to CMakeLists
* Return std::uint64_t from writer::content_length
* basic_parser::write takes asio::const_buffer instead of pointer and size
* Turn message test back on now that it passes
* Rename to http::headers, use std::allocator, remove http_headers
* http::message::method is now a string
* Refactor to_string for ConstBufferSequence
* Remove chunk_encode from the public interface
* Initialize members for default constructed iterators
* Disallow default construction for dependent buffer sequences

Refactor http::message serialization:

* Serialization no longer creates a copy of the
  headers and modifies them
* New function prepare(), sets Connection, Transfer-Encoding,
  Content-Length based on the body attributes and caller options.
  Callers can use prepare() to have the fields set automatically,
  or they can set the fields manually.
* Use write for operator<<
* Tests for serialization
This commit is contained in:
Vinnie Falco
2016-04-29 06:04:40 -04:00
parent f3c3e0bfff
commit 47dc31d8c2
69 changed files with 1315 additions and 953 deletions

View File

@@ -118,7 +118,7 @@ public:
template<class Allocator>
class basic_streambuf<Allocator>::const_buffers_type
{
basic_streambuf const* sb_ = nullptr;
basic_streambuf const* sb_;
friend class basic_streambuf;
@@ -126,12 +126,12 @@ class basic_streambuf<Allocator>::const_buffers_type
const_buffers_type(basic_streambuf const& sb);
public:
/// Why?
// Why?
using value_type = boost::asio::const_buffer;
class const_iterator;
const_buffers_type() = default;
const_buffers_type() = delete;
const_buffers_type(const_buffers_type const&) = default;
const_buffers_type& operator=(const_buffers_type const&) = default;
@@ -157,7 +157,7 @@ public:
class const_iterator;
mutable_buffers_type() = default;
mutable_buffers_type() = delete;
mutable_buffers_type(mutable_buffers_type const&) = default;
mutable_buffers_type& operator=(mutable_buffers_type const&) = default;

View File

@@ -27,7 +27,7 @@ public:
class const_iterator;
const_buffers_type() = default;
const_buffers_type() = delete;
const_buffers_type(
const_buffers_type const&) = default;
const_buffers_type& operator=(
@@ -52,7 +52,7 @@ template<class Buffers>
class buffers_adapter<Buffers>::const_buffers_type::const_iterator
{
iter_type it_;
buffers_adapter const* ba_;
buffers_adapter const* ba_ = nullptr;
public:
using value_type = boost::asio::const_buffer;
@@ -167,7 +167,7 @@ public:
class const_iterator;
mutable_buffers_type() = default;
mutable_buffers_type() = delete;
mutable_buffers_type(
mutable_buffers_type const&) = default;
mutable_buffers_type& operator=(
@@ -193,7 +193,7 @@ template<class Buffers>
class buffers_adapter<Buffers>::mutable_buffers_type::const_iterator
{
iter_type it_;
buffers_adapter const* ba_;
buffers_adapter const* ba_ = nullptr;
public:
using value_type = boost::asio::mutable_buffer;

View File

@@ -27,7 +27,7 @@ class consuming_buffers<Buffers, ValueType>::const_iterator
typename Buffers::const_iterator;
iter_type it_;
consuming_buffers const* b_;
consuming_buffers const* b_ = nullptr;
public:
using value_type =
@@ -59,9 +59,8 @@ public:
reference
operator*() const
{
if(it_ == b_->begin_)
return *it_ + b_->skip_;
return *it_;
return it_ == b_->begin_ ?
*it_ + b_->skip_ : *it_;
}
pointer

View File

@@ -46,7 +46,7 @@ class prepared_buffers<BufferSequence>::const_iterator
using iter_type =
typename BufferSequence::const_iterator;
prepared_buffers const* b_;
prepared_buffers const* b_ = nullptr;
typename BufferSequence::const_iterator it_;
public:

View File

@@ -26,7 +26,7 @@ public:
class const_iterator;
const_buffers_type() = default;
const_buffers_type() = delete;
const_buffers_type(
const_buffers_type const&) = default;
const_buffers_type& operator=(
@@ -51,8 +51,8 @@ private:
class static_streambuf::const_buffers_type::const_iterator
{
std::size_t n_;
std::uint8_t const* p_;
std::size_t n_ = 0;
std::uint8_t const* p_ = nullptr;
public:
using value_type = boost::asio::const_buffer;
@@ -158,7 +158,7 @@ public:
class const_iterator;
mutable_buffers_type() = default;
mutable_buffers_type() = delete;
mutable_buffers_type(
mutable_buffers_type const&) = default;
mutable_buffers_type& operator=(
@@ -183,8 +183,8 @@ private:
class static_streambuf::mutable_buffers_type::const_iterator
{
std::size_t n_;
std::uint8_t* p_;
std::size_t n_ = 0;
std::uint8_t* p_ = nullptr;
public:
using value_type = boost::asio::mutable_buffer;