diff --git a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/WebSocketHandler.scala b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/WebSocketHandler.scala index 1b89cdf49dcd6179340c10ec0346bbfc3560303a..577d93a7fe3809a9cd29e7f342aa9bf4d7756377 100644 --- a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/WebSocketHandler.scala +++ b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/WebSocketHandler.scala @@ -15,6 +15,7 @@ class WebSocketHandler { private val sessions = new ConcurrentLinkedQueue[Session] private val methods: Map[String, MethodExecutable] = Map( + "ping" -> new PingMethod, "project-list" -> new ProjectListMethod, "project-current" -> new ProjectCurrentMethod, "project-open" -> new ProjectOpenMethod, diff --git a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/methods/PingMethod.scala b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/methods/PingMethod.scala new file mode 100644 index 0000000000000000000000000000000000000000..62594789acbdbb10e1c48aa483977a1daf4fdc4f --- /dev/null +++ b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/methods/PingMethod.scala @@ -0,0 +1,15 @@ +package de.tobias.playpad.plugin.api.websocket.methods + +import com.google.gson.JsonObject +import de.tobias.playpad.plugin.api.websocket.MethodExecutable +import de.tobias.playpad.plugin.api.websocket.message.Message +import org.eclipse.jetty.websocket.api.Session + +class PingMethod extends MethodExecutable { + + override def execute(session: Session, message: Message): JsonObject = { + val response = new JsonObject() + response.addProperty("pong", System.currentTimeMillis()) + response + } +}