From c37ac509636a21b2a291e03131938d960c81dd89 Mon Sep 17 00:00:00 2001 From: evoskuil Date: Sun, 2 Nov 2025 18:59:02 -0500 Subject: [PATCH] Add send_buffer sender to protocol_html. --- include/bitcoin/node/protocols/protocol_html.hpp | 3 +++ src/protocols/protocol_html.cpp | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/bitcoin/node/protocols/protocol_html.hpp b/include/bitcoin/node/protocols/protocol_html.hpp index 8cd616925..89912f410 100644 --- a/include/bitcoin/node/protocols/protocol_html.hpp +++ b/include/bitcoin/node/protocols/protocol_html.hpp @@ -71,6 +71,9 @@ class BCN_API protocol_html virtual void send_span(const network::http::request& request, network::http::span_body::value_type&& span, network::http::mime_type type) NOEXCEPT; + virtual void send_buffer(const network::http::request& request, + network::http::buffer_body::value_type&& buffer, + network::http::mime_type type) NOEXCEPT; /// Utilities. bool is_allowed_origin(const network::http::fields& fields, diff --git a/src/protocols/protocol_html.cpp b/src/protocols/protocol_html.cpp index d7477cb0e..4e9ea17df 100644 --- a/src/protocols/protocol_html.cpp +++ b/src/protocols/protocol_html.cpp @@ -223,6 +223,18 @@ void protocol_html::send_span(const request& request, SEND(std::move(response), handle_complete, _1, error::success); } +void protocol_html::send_buffer(const request& request, + buffer_body::value_type&& buffer, mime_type type) NOEXCEPT +{ + BC_ASSERT(stranded()); + response response{ status::ok, request.version() }; + add_common_headers(response, request); + response.set(field::content_type, from_mime_type(type)); + response.body() = std::move(buffer); + response.prepare_payload(); + SEND(std::move(response), handle_complete, _1, error::success); +} + // Utilities. // ----------------------------------------------------------------------------