12namespace proto_fuzzer {
19TlsWebSocketMockServer::~TlsWebSocketMockServer() {
30 transport_.Install(easy);
57#if defined(PROTO_FUZZER_OBSERVE_STATE)
60 (void)tls_websocket_observation;
std::unique_ptr< MockConnection > connection_
The per-scenario MockConnection, lazily created by HandleOpenSocket().
void ObserveState() override
Retain protocol outcomes in coverage and introspector builds.
TlsWebSocketMockServer(curl::fuzzer::proto::TlsCertificateChainProfile certificate_chain=curl::fuzzer::proto::TLS_CERTIFICATE_CHAIN_DEFAULT_EC)
Construct a secure WebSocket peer with the selected certificate chain.
std::size_t DrainHandshakeData() override
Advance TLS and expose only decrypted application bytes to the inherited WebSocket observer.
std::unique_ptr< MockConnection > CreateConnection() override
Create one TLS-wrapped socketpair for the WebSocket exchange.
void FlushTransport() override
Turn queued application plaintext into TLS records before curl's next receive call,...
void Install(CURL *easy) override
Install the common WebSocket callbacks, then require verification against the checked-in TLS test cer...
std::size_t completed_handshake_count() const
void Install(CURL *easy) override
Install the shared socket trampolines via the base, then layer a WebSocket-aware WRITEFUNCTION / HEAD...
void ObserveState() override
Retain protocol outcomes in coverage and introspector builds.
TlsApplicationProtocol
Application protocol selected by the in-process TLS peer.
@ kHttp11
Ordinary HTTPS scripts contain HTTP/1.1 response bytes.
Secure WebSocket peer carried by the in-process TLS transport.