ENVOY_LOG(trace, "websocket: http_parser got version major: {} minor: {}", parser_.http_major,
if (Http::HeaderUtility::headerNameContainsUnderscore(current_header_field_.getStringView())) {
RequestParser() : HttpParser(HTTP_REQUEST), headers_(Http::RequestHeaderMapImpl::create()) {}
ResponseParser() : HttpParser(HTTP_RESPONSE), headers_(Http::ResponseHeaderMapImpl::create()) {}
void encodeHeader(Buffer::Instance& buffer, absl::string_view key, absl::string_view value) {
const char* status_string = Http::CodeUtility::toString(static_cast<Http::Code>(numeric_status));
connection_.close(Network::ConnectionCloseType::NoFlush, fmt::format("websocket error: {}", msg));
orig_dst = Network::Utility::parseInternetAddressAndPortNoThrow(request_override_host, false);
ENVOY_LOG(debug, "websocket encoder: {} bytes: 0x{}, end_stream: {}, opcode: {}", data.length(),
encoded_.add(absl::string_view{reinterpret_cast<char*>(frame_header), frame_header_length});
ENVOY_LOG(debug, "websocket encoder: sent WebSocket CLOSE message, end_stream: {}", end_stream);
ENVOY_LOG(trace, "websocket: copyOut {} bytes at offset {}", sizeof(*(DATA)), frame_offset); \
ENVOY_LOG(trace, "websocket decoder: payload remaining: {}, offset: {}, processing: {}: 0x{}",
ENVOY_LOG(trace, "websocket decoder: received websocket data: header {} bytes, data {} bytes",