diff --git a/gateway/src/commonMain/kotlin/Compression.kt b/gateway/src/commonMain/kotlin/Compression.kt index 76cb3d07e26d..4da49351fc0f 100644 --- a/gateway/src/commonMain/kotlin/Compression.kt +++ b/gateway/src/commonMain/kotlin/Compression.kt @@ -3,9 +3,6 @@ package dev.kord.gateway import dev.kord.common.annotation.KordUnsafe import io.ktor.util.* import io.ktor.websocket.* -import java.io.ByteArrayOutputStream -import java.util.zip.Inflater -import java.util.zip.InflaterOutputStream /** * [WebSocketExtension] inflating incoming websocket requests using `zlib`. @@ -35,7 +32,7 @@ public class WebSocketCompression : WebSocketExtension { override fun processIncomingFrame(frame: Frame): Frame { return if (frame is Frame.Binary) { - frame.deflateData() + with(inflater) { Frame.Text(frame.inflateData()) } } else { frame } @@ -47,18 +44,6 @@ public class WebSocketCompression : WebSocketExtension { override fun serverNegotiation(requestedProtocols: List): List = requestedProtocols - private fun Frame.deflateData(): Frame { - val outputStream = ByteArrayOutputStream() - InflaterOutputStream(outputStream, inflater).use { - it.write(data) - } - - return outputStream.use { - val raw = String(outputStream.toByteArray(), 0, outputStream.size(), Charsets.UTF_8) - Frame.Text(raw) - } - } - public companion object : WebSocketExtensionFactory { override val key: AttributeKey = AttributeKey("WebSocketCompression") override val rsv1: Boolean = false