From af899cae816f48b5fdb8b1192d1bf338cf6e6eae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Przemys=C5=82aw=20Pluta?= Date: Thu, 2 Jul 2020 19:15:06 +0200 Subject: [PATCH] Enable response type inference --- .../ttsserver/core/lua/lib/HTTPLibrary.kt | 1 - .../ttsserver/core/web/endpoint/DefaultEndpoint.kt | 12 ++++++------ .../ttsserver/core/web/endpoint/ResponseType.kt | 6 ------ 3 files changed, 6 insertions(+), 13 deletions(-) delete mode 100644 app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/ResponseType.kt diff --git a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/lua/lib/HTTPLibrary.kt b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/lua/lib/HTTPLibrary.kt index e61de3c..5fde618 100644 --- a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/lua/lib/HTTPLibrary.kt +++ b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/lua/lib/HTTPLibrary.kt @@ -1,6 +1,5 @@ package com.bartlomiejpluta.ttsserver.core.lua.lib -import com.bartlomiejpluta.ttsserver.core.web.endpoint.ResponseType import fi.iki.elonen.NanoHTTPD import org.luaj.vm2.LuaValue import org.luaj.vm2.lib.TwoArgFunction diff --git a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/DefaultEndpoint.kt b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/DefaultEndpoint.kt index 8c295d4..a99c502 100644 --- a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/DefaultEndpoint.kt +++ b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/DefaultEndpoint.kt @@ -3,6 +3,7 @@ package com.bartlomiejpluta.ttsserver.core.web.endpoint import com.bartlomiejpluta.ttsserver.core.web.uri.UriTemplate import fi.iki.elonen.NanoHTTPD.* import org.luaj.vm2.LuaClosure +import org.luaj.vm2.LuaNil import org.luaj.vm2.LuaTable import org.luaj.vm2.LuaValue import java.io.BufferedInputStream @@ -44,12 +45,11 @@ class DefaultEndpoint( .let { provideResponse(it) } - private fun provideResponse(response: LuaTable) = - when (response.get("type").checkjstring()) { - ResponseType.TEXT.name -> getTextResponse(response) - ResponseType.FILE.name -> getFileResponse(response) - else -> throw IllegalArgumentException("Unknown value for type in response") - } + private fun provideResponse(response: LuaTable) = when { + response.get("data") !is LuaNil -> getTextResponse(response) + response.get("file") !is LuaNil -> getFileResponse(response) + else -> throw IllegalArgumentException("Provide 'data' or 'file' in response table") + } private fun getTextResponse(response: LuaTable) = newFixedLengthResponse( getStatus(response), diff --git a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/ResponseType.kt b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/ResponseType.kt deleted file mode 100644 index ba98028..0000000 --- a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/ResponseType.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.bartlomiejpluta.ttsserver.core.web.endpoint - -enum class ResponseType { - TEXT, - FILE -} \ No newline at end of file