Skip to content

Commit

Permalink
Update KobaltClient to the correct WebSocket library.
Browse files Browse the repository at this point in the history
  • Loading branch information
cbeust committed Feb 22, 2018
1 parent 49bc2b3 commit f95075c
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 26 deletions.
4 changes: 2 additions & 2 deletions kobalt/src/Build.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ val bs = buildScript {

object Versions {
val kotlin = "1.2.10"
val okhttp = "3.9.0"
val okhttp = "3.9.1"
val okio = "1.13.0"
val retrofit = "2.3.0"
val gson = "2.8.2"
Expand Down Expand Up @@ -175,7 +175,7 @@ val kobaltApp = project(kobaltPluginApi, wrapper) {
"com.google.code.gson:gson:${Versions.gson}",
"com.squareup.retrofit2:retrofit:${Versions.retrofit}",
"com.squareup.retrofit2:converter-gson:${Versions.retrofit}",
"com.squareup.okhttp3:okhttp-ws:3.4.2",
// "com.squareup.okhttp3:okhttp-ws:3.4.2",
"biz.aQute.bnd:biz.aQute.bndlib:3.5.0",
*mavenResolver("spi"),

Expand Down
39 changes: 15 additions & 24 deletions src/main/kotlin/com/beust/kobalt/app/remote/KobaltClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,7 @@ import com.beust.kobalt.misc.KFiles
import com.beust.kobalt.misc.warn
import com.google.gson.Gson
import com.google.inject.Guice
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
import okhttp3.ResponseBody
import okhttp3.ws.WebSocket
import okhttp3.ws.WebSocketCall
import okhttp3.ws.WebSocketListener
import okio.Buffer
import java.io.IOException
import okhttp3.*

fun main(argv: Array<String>) {
Kobalt.INJECTOR = Guice.createInjector(MainModule(Args(), KobaltSettings.readSettingsXml()))
Expand All @@ -39,26 +31,22 @@ class KobaltClient : Runnable {
.url("$url?projectRoot=$projectRoot&buildFile=$buildFile")
.build()
var webSocket: WebSocket? = null
val ws = WebSocketCall.create(client, request).enqueue(object: WebSocketListener {
override fun onOpen(ws: WebSocket, response: Response) {
webSocket = ws
}

override fun onPong(p0: Buffer?) {
println("WebSocket pong")
val socketListener = object: WebSocketListener() {
override fun onFailure(webSocket: WebSocket, ex: Throwable, response: Response?) {
Exceptions.printStackTrace(ex)
error("WebSocket failure: ${ex.message} response: $response")
}

override fun onClose(p0: Int, p1: String?) {
println("WebSocket closed")
override fun onOpen(ws: WebSocket, response: Response) {
webSocket = ws
}

override fun onFailure(ex: IOException, response: Response?) {
Exceptions.printStackTrace(ex)
error("WebSocket failure: ${ex.message} response: $response")
override fun onClosing(webSocket: WebSocket, code: Int, reason: String) {
println("Closing socket")
}

override fun onMessage(body: ResponseBody) {
val json = body.string()
override fun onMessage(webSocket: WebSocket, text: String) {
val json = text
val wsCommand = Gson().fromJson(json, WebSocketCommand::class.java)
if (wsCommand.errorMessage != null) {
warn("Received error message from server: " + wsCommand.errorMessage)
Expand Down Expand Up @@ -87,7 +75,10 @@ class KobaltClient : Runnable {
}
}
}
})
}

val ws = client.newWebSocket(request, socketListener)
ws.close(1000, "All good")
}
}

Expand Down

0 comments on commit f95075c

Please sign in to comment.