diff --git a/doc/3_4_composed.qbk b/doc/3_4_composed.qbk index ff2c3768..a4461ccf 100644 --- a/doc/3_4_composed.qbk +++ b/doc/3_4_composed.qbk @@ -10,14 +10,13 @@ Asynchronous operations are started by calling a free function or member function known as an ['asynchronous initiation function]. The initiation function accepts parameters specific to the operation as well as a "completion -token." This token is either a completion handler, or another type allowing for -customization of how the result of the asynchronous operation is conveyed to -callers. __Asio__ allows the special completion tokens __use_future__ and -objects of type __yield_context__ to allow callers to specify the use of futures -and coroutines respectively. This system, where the return value and method of -indicating completion may be customized at the call site of the asynchronous -initiation function, is known as the ['Extensible Asynchronous Model] described -in __N3747__, and built-in to __N4588__. +token." This token is either a completion handler, or a type defining how +the caller is informed of the asynchronous operation result. __Asio__ comes +with the special completion tokens __use_future__ and __yield_context__ for +using futures and coroutines respectively. This system of customizing the +return value and method of completion notification is known as the +['Extensible Asynchronous Model] described in __N3747__, and a built in +to __N4588__. [note A full explanation of completion handlers, the Extensible Asynchronous diff --git a/doc/concept/Fields.qbk b/doc/concept/Fields.qbk index f883dc5f..8ef49c48 100644 --- a/doc/concept/Fields.qbk +++ b/doc/concept/Fields.qbk @@ -17,7 +17,7 @@ In this table: * `X` denotes a type that meets the requirements of [*Fields]. -* `R` denotes a type meeting the requiremnets of __FieldsReader__. +* `R` denotes a type meeting the requirements of __FieldsReader__. * `a` denotes a value of type `X`. diff --git a/include/beast/http/message.hpp b/include/beast/http/message.hpp index ea3f1d98..c9afaeff 100644 --- a/include/beast/http/message.hpp +++ b/include/beast/http/message.hpp @@ -28,19 +28,17 @@ namespace http { /** A container for an HTTP request or response header. - A header includes the Start Line and Fields. + This container is derived from the `Fields` template type. + To understand all of the members of this class it is necessary + to view the declaration for the `Fields` type. When using + the default fields container, those declarations are in + @ref fields. - Some use-cases: - - @li When the message has no body, such as a response to a HEAD request. - - @li When the caller wishes to defer instantiation of the body. - - @li Invoke algorithms which operate on the header only. + A `header` includes the start-line and header-fields. */ #if BEAST_DOXYGEN template -struct header +struct header : Fields #else template @@ -193,15 +191,7 @@ private: /** A container for an HTTP request or response header. - A header includes the Start Line and Fields. - - Some use-cases: - - @li When the message has no body, such as a response to a HEAD request. - - @li When the caller wishes to defer instantiation of the body. - - @li Invoke algorithms which operate on the header only. + A `header` includes the start-line and header-fields. */ template struct header : Fields @@ -349,6 +339,12 @@ private: /** A container for a complete HTTP message. + This container is derived from the `Fields` template type. + To understand all of the members of this class it is necessary + to view the declaration for the `Fields` type. When using + the default fields container, those declarations are in + @ref fields. + A message can be a request or response, depending on the `isRequest` template argument value. Requests and responses have different types; functions may be overloaded based on