From 3b1cc75f10bbd06749faa4bc64974635306736c3 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sun, 4 Mar 2018 23:45:23 -0800 Subject: [PATCH] ircd::http: Modernize the header vector string generator. --- ircd/http.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ircd/http.cc b/ircd/http.cc index 2f87cbb0d..50a56e33a 100644 --- a/ircd/http.cc +++ b/ircd/http.cc @@ -750,13 +750,12 @@ ircd::http::parser::content_length(const string_view &str) std::string ircd::http::strung(const vector_view &headers) { - std::string ret(serialized(headers), char{}); - window_buffer out{ret}; - write(out, headers); - assert(out.consumed() <= ret.size()); - ret.resize(out.consumed()); - assert(out.consumed() == ret.size()); - return ret; + return ircd::string(serialized(headers), [&] + (window_buffer out) + { + write(out, headers); + return out.consumed(); + }); } /// Indicates the buffer size required to write these headers. This size