microserve.detail module

Files

file detail.cppm

Classes

struct microserve::detail::H2StreamState
struct microserve::detail::H2BodyHolder
template<typename Derived, typename Stream>
class microserve::detail::H2SessionBase

Functions

auto is_hop_by_hop_header(std::string_view name) -> bool
void append_response_headers(const Response& res, std::vector<std::string>& storage)
template<typename Socket>
void open_and_bind(Socket& sock, const typename Socket::endpoint_type& ep)
Open sock, set SO_REUSEADDR, and IPV6_V6ONLY when ep is IPv6.
template<typename Acceptor>
void open_bind_listen(Acceptor& acc, const typename Acceptor::endpoint_type& ep)
void load_tls_certificate(net::ssl::context& ctx, const std::string& cert_file, const std::string& key_file, const std::string_view tag = "https")
Load a PEM certificate chain + private key into an Asio TLS context.

Variables

auto NGHTTP2_DATA_U constexpr
auto NGHTTP2_HEADERS_U constexpr
auto NGHTTP2_FLAG_NONE_U constexpr
auto NGHTTP2_FLAG_END_STREAM_U constexpr
auto NGHTTP2_FLAG_END_HEADERS_U constexpr
auto NGHTTP2_HCAT_REQUEST_U constexpr
auto NGHTTP2_DATA_FLAG_EOF_U constexpr
auto NGHTTP2_NV_FLAG_NONE_U constexpr
auto NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS_U constexpr
std::string_view kH2Preface constexpr