JettyClientWsSession.kt
- package com.hexagonkt.http.client.jetty.ws
- import com.hexagonkt.http.model.HttpRequestPort
- import com.hexagonkt.http.model.ws.WsSession
- import org.eclipse.jetty.websocket.api.Callback.NOOP
- import org.eclipse.jetty.websocket.api.Session
- import java.net.URI
- import java.nio.ByteBuffer
- class JettyClientWsSession(
- override val uri: URI,
- private val session: Session
- ) : WsSession {
- override val attributes: Map<*, *>
- get() = throw UnsupportedOperationException()
- override val request: HttpRequestPort
- get() = throw UnsupportedOperationException()
- override val exception: Exception
- get() = throw UnsupportedOperationException()
- override val pathParameters: Map<String, String>
- get() = throw UnsupportedOperationException()
- override fun send(data: ByteArray) {
- session.sendBinary(ByteBuffer.wrap(data), NOOP)
- }
- override fun send(text: String) {
- session.sendText(text, NOOP)
- }
- override fun ping(data: ByteArray) {
- session.sendPing(ByteBuffer.wrap(data), NOOP)
- }
- override fun pong(data: ByteArray) {
- session.sendPong(ByteBuffer.wrap(data), NOOP)
- }
- override fun close(status: Int, reason: String) {
- session.close(status, reason, NOOP)
- }
- }