View in context in the libbitcoin Slack #general mirror.
network::http_channel and network::http_protocol. This enables node::protocol_explore and node::protocol_html receipt of any http::request contained variant type at the same endpoint, and the ability to construct and send back any http::response contained variant type. This code barely changed, all it required was replacement of http::string_request and http::string_response with the corresponding variant types. Sending doesn't require the variant type, it can just be sent with any type using polymorphism, works either way. But I expect that the variant response will end up becoming a useful mechanism for similar late branching of serialization if that becomes beneficial.
We're now up and running the internal html site on the new types, and right now I'm gonna start sending some text and json from a test client, and pick it up in the node and then start sending some back. I expect that to got well, and if so I'll be building some actual application/json (json encoded btc wire protocol) and text/plain (hex encoded) and application/octet-stream (binary encoded btc wire protocol) requests and responses.