diff --git a/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/FlowsWebsockets.kt b/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/FlowsWebsockets.kt index b348acbd21a..176f75ee809 100644 --- a/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/FlowsWebsockets.kt +++ b/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/FlowsWebsockets.kt @@ -3,6 +3,8 @@ package dev.inmo.micro_utils.ktor.client import dev.inmo.micro_utils.coroutines.safely import dev.inmo.micro_utils.ktor.common.* import io.ktor.client.HttpClient +import io.ktor.client.plugins.pluginOrNull +import io.ktor.client.plugins.websocket.WebSockets import io.ktor.client.plugins.websocket.ws import io.ktor.client.request.HttpRequestBuilder import io.ktor.websocket.Frame @@ -21,6 +23,8 @@ inline fun HttpClient.createStandardWebsocketFlow( noinline requestBuilder: HttpRequestBuilder.() -> Unit = {}, crossinline conversation: suspend (StandardKtorSerialInputData) -> T ): Flow { + pluginOrNull(WebSockets) ?: error("Plugin $WebSockets must be installed for using createStandardWebsocketFlow") + val correctedUrl = url.asCorrectWebSocketUrl return channelFlow {