Malloy
Loading...
Searching...
No Matches
connection_plain.hpp
1#pragma once
2
3#include "connection.hpp"
4#include "../../core/tcp/stream.hpp"
5
6namespace malloy::client::http
7{
8
12 template<typename... ConnArgs>
14 public connection<connection_plain<ConnArgs...>, ConnArgs...>,
15 public std::enable_shared_from_this<connection_plain<ConnArgs...>>
16 {
17 using parent_t = connection<connection_plain<ConnArgs...>, ConnArgs...>;
18
19 public:
20 connection_plain(std::shared_ptr<spdlog::logger> logger, boost::asio::io_context& io_ctx, const std::uint64_t body_limit) :
21 parent_t(std::move(logger), io_ctx, body_limit),
22 m_stream(boost::asio::make_strand(io_ctx))
23 {
24 }
25
26 // Called by base class
27 [[nodiscard]]
29 stream()
30 {
31 return m_stream;
32 }
33
34 void
35 hook_connected()
36 {
37 // Send the HTTP request to the remote host
38 parent_t::send_request();
39 }
40
41 private:
42 malloy::tcp::stream<> m_stream;
43 };
44}
Definition: connection_plain.hpp:16
Definition: connection.hpp:26
boost::beast::basic_stream< boost::asio::ip::tcp, boost::asio::any_io_executor, RatePolicy > stream
Definition: stream.hpp:22