mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-27 22:45:52 +00:00
Beast.HTTP:
New classes are introduced to represent HTTP messages and their associated bodies. The parser interface is reworked to use CRTP, error codes, and trait checks. New classes: * basic_headers Models field/value pairs in a HTTP message. * message Models a HTTP message, body behavior defined by template argument. Parsed message carries metadata generated during parsing. * parser Produces parsed messages. * empty_body, string_body, basic_streambuf_body Classes used to represent content bodies in various ways. New functions: * read, async_read, write, async_write Read and write HTTP messages on a socket. New concepts: * Body: Represents the HTTP Content-Body. * Field: A HTTP header field. * FieldSequence: A forward sequence of fields. * Reader: Parses a Body from a stream of bytes. * Writer: Serializes a Body to buffers. basic_parser changes: * add write methods which throw exceptions instead * error_code passed via parameter instead of return value * fold private member calls into existing callbacks * basic_parser uses CRTP instead of virtual members * add documentation on Derived requirements for CRTP impl/http-parser changes: * joyent renamed to nodejs to reflect upstream changes
This commit is contained in:
@@ -107,7 +107,7 @@ public:
|
||||
Handoff
|
||||
onHandoff (Session& session,
|
||||
std::unique_ptr <beast::asio::ssl_bundle>&& bundle,
|
||||
beast::http::message&& request,
|
||||
http_request_type&& request,
|
||||
boost::asio::ip::tcp::endpoint remote_address) override
|
||||
{
|
||||
return Handoff{};
|
||||
@@ -115,7 +115,7 @@ public:
|
||||
|
||||
Handoff
|
||||
onHandoff (Session& session, boost::asio::ip::tcp::socket&& socket,
|
||||
beast::http::message&& request,
|
||||
http_request_type&& request,
|
||||
boost::asio::ip::tcp::endpoint remote_address) override
|
||||
{
|
||||
return Handoff{};
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
onRequest (Session& session) override
|
||||
{
|
||||
session.write (std::string ("Hello, world!\n"));
|
||||
if (session.request().keep_alive())
|
||||
if (is_keep_alive(session.request()))
|
||||
session.complete();
|
||||
else
|
||||
session.close (true);
|
||||
@@ -309,7 +309,7 @@ public:
|
||||
Handoff
|
||||
onHandoff (Session& session,
|
||||
std::unique_ptr <beast::asio::ssl_bundle>&& bundle,
|
||||
beast::http::message&& request,
|
||||
http_request_type&& request,
|
||||
boost::asio::ip::tcp::endpoint remote_address) override
|
||||
{
|
||||
return Handoff{};
|
||||
@@ -317,7 +317,7 @@ public:
|
||||
|
||||
Handoff
|
||||
onHandoff (Session& session, boost::asio::ip::tcp::socket&& socket,
|
||||
beast::http::message&& request,
|
||||
http_request_type&& request,
|
||||
boost::asio::ip::tcp::endpoint remote_address) override
|
||||
{
|
||||
return Handoff{};
|
||||
|
||||
Reference in New Issue
Block a user