49void unmask_payload(std::string& payload,
const uint8_t mask_key[4]);
67 void on_message(std::function<
void(
const std::string&)> handler);
73 void on_close(std::function<
void()> handler);
79 void send(
const std::string& message);
91 std::function<void(
const std::string&)> message_handler_;
92 std::function<void()> close_handler_;
94 bool is_closed_{
false};
96 bool deflate_enabled_{
false};
97 z_stream inflate_stream_{};
98 z_stream deflate_stream_{};
99 bool streams_initialized_{
false};
102 void cleanup_streams();
103 std::string deflate_payload(
const std::string& payload);
104 std::string inflate_payload(
const std::string& payload);
Represents an active WebSocket connection.
Definition WebSocketConnection.hpp:56
void close()
Closes the WebSocket connection gracefully.
Definition WebSocketConnection.cpp:152
void on_message(std::function< void(const std::string &)> handler)
Registers a callback to be called when a message is received.
Definition WebSocketConnection.cpp:105
void process_raw_data(std::vector< char > &buffer)
Definition WebSocketConnection.cpp:223
~WebSocketConnection()
Definition WebSocketConnection.cpp:17
void send(const std::string &message)
Sends a text message over the WebSocket connection.
Definition WebSocketConnection.cpp:113
void on_close(std::function< void()> handler)
Registers a callback to be called when the connection is closed.
Definition WebSocketConnection.cpp:109
Represents an active client connection, handling request parsing and response writing.
Definition Connection.hpp:40
bool parse_frame_header(const std::vector< char > &buffer, FrameHeader &header)
Decodes an RFC 6455 frame header from the front of a buffer.
Definition WebSocketConnection.cpp:174
void unmask_payload(std::string &payload, const uint8_t mask_key[4])
Unmasks a frame payload in place using the frame's masking key.
Definition WebSocketConnection.cpp:168
Definition Http2Session.hpp:21
Definition Http2Session.hpp:17
Definition EventRouter.hpp:13