WormaCeptor

WebSocket Monitoring

Monitor WebSocket connections and messages with WormaCeptor.

WebSocket Monitoring

OkHttp interceptors don't capture WebSocket traffic. Use WormaCeptorWebSocket to monitor WebSocket connections:

val listener = object : WebSocketListener() {
    override fun onMessage(webSocket: WebSocket, text: String) {
        // Handle received message
    }
}

// Wrap your listener for monitoring
val monitor = WormaCeptorWebSocket.wrap(listener, "wss://example.com/ws")

// Use the wrapped listener with OkHttp
val request = Request.Builder().url("wss://example.com/ws").build()
val webSocket = client.newWebSocket(request, monitor.listener)

// Record sent messages (OkHttp doesn't notify listeners of outgoing messages)
webSocket.send(message)
monitor.recordSentMessage(message)

Factory Methods

MethodDescription
wrap(delegate: WebSocketListener, url: String)Wrap an existing listener for monitoring
wrap(url: String)Create a monitoring-only listener (no delegate)

Instance Methods

MethodDescription
recordSentMessage(text: String)Record an outgoing text message
recordSentMessage(bytes: ByteString)Record an outgoing binary message
recordPing(payload: ByteString)Record a ping frame
recordPong(payload: ByteString)Record a pong frame
getConnectionId()Get the unique connection ID (-1 if unavailable)

Properties

PropertyTypeDescription
listenerWebSocketListenerThe wrapped listener to pass to OkHttp

On this page