Tidy up tests, build scripts, and documentation:

* Concepts split up into individual files
* Function definitions moved to .ipp files
* Add more tests to fill gaps in coverage
* Fix documentation Xsl
This commit is contained in:
Vinnie Falco committed 2017-07-20 08:12:06 -07:00
1 parent c309f53ed2
commit 313620ce7e
92 files changed
+2915 -1808

No files matched your search

+71 -12
View File
@@ -18,13 +18,30 @@
namespace beast {
namespace http {
/** Write a HTTP/1 message to a stream.
/** Write a HTTP/1 message on a stream.
@param stream The stream to send the message on.
This function is used to write a message to a stream. The call
will block until one of the following conditions is true:
@param msg The message to send.
@li The entire message is sent.
@throws boost::system::error code on failure.
@li An error occurs.
This operation is implemented in terms of one or more calls
to the stream's `write_some` function.
The implementation will automatically perform chunk encoding if
the contents of the message indicate that chunk encoding is required.
If the semantics of the message indicate that the connection should
be closed after the message is sent, the error returns from this
function will be `boost::asio::error::eof`.
@param stream The stream to which the data is to be written.
The type must support the @b `SyncWriteStream` concept.
@param msg The message to write.
@throws boost::system::error Thrown on failure.
*/
template<class SyncWriteStream,
bool isRequest, class Body, class Headers>
@@ -32,11 +49,28 @@ void
write(SyncWriteStream& stream,
message_v1<isRequest, Body, Headers> const& msg);
/** Write a HTTP/1 message to a stream.
/** Write a HTTP/1 message on a stream.
@param stream The stream to send the message on.
This function is used to write a message to a stream. The call
will block until one of the following conditions is true:
@param msg The message to send.
@li The entire message is sent.
@li An error occurs.
This operation is implemented in terms of one or more calls
to the stream's `write_some` function.
The implementation will automatically perform chunk encoding if
the contents of the message indicate that chunk encoding is required.
If the semantics of the message indicate that the connection should
be closed after the message is sent, the error returns from this
function will be `boost::asio::error::eof`.
@param stream The stream to which the data is to be written.
The type must support the @b `SyncWriteStream` concept.
@param msg The message to write.
@param ec Set to the error, if any occurred.
*/
@@ -47,13 +81,35 @@ write(SyncWriteStream& stream,
message_v1<isRequest, Body, Headers> const& msg,
error_code& ec);
/** Start writing a HTTP/1 message to a stream asynchronously.
/** Start an asynchronous operation to write a HTTP/1 message to a stream.
@param stream The stream to send the message on.
This function is used to asynchronously write a message to a stream.
The function call always returns immediately. The asynchronous
operation will continue until one of the following conditions is true:
@li The entire message is sent.
@li An error occurs.
This operation is implemented in terms of one or more calls to the
stream's `async_write_some` functions, and is known as a <em>composed
operation</em>. The program must ensure that the stream performs no
other write operations (such as @ref async_write, the stream's
`async_write_some` function, or any other composed operations that
perform writes) until this operation completes.
The implementation will automatically perform chunk encoding if
the contents of the message indicate that chunk encoding is required.
If the semantics of the message indicate that the connection should
be closed after the message is sent, the operation will complete with
the error set to `boost::asio::error::eof`.
@param stream The stream to which the data is to be written.
The type must support the @b `AsyncWriteStream` concept.
@param msg The message to send.
@param token The handler to be called when the request completes.
@param handler The handler to be called when the request completes.
Copies will be made of the handler as required. The equivalent
function signature of the handler must be:
@code void handler(
@@ -62,9 +118,9 @@ write(SyncWriteStream& stream,
Regardless of whether the asynchronous operation completes
immediately or not, the handler will not be invoked from within
this function. Invocation of the handler will be performed in a
manner equivalent to using boost::asio::io_service::post().
manner equivalent to using `boost::asio::io_service::post`.
@note The message must remain valid at least until the
@note The message object must remain valid at least until the
completion handler is called, no copies are made.
*/
template<class AsyncWriteStream,
@@ -85,6 +141,9 @@ async_write(AsyncWriteStream& stream,
The function converts the message to its HTTP/1 serialized
representation and stores the result in the output stream.
The implementation will automatically perform chunk encoding if
the contents of the message indicate that chunk encoding is required.
@param os The ostream to write to.
@param msg The message to write.