Enable response type inference

This commit is contained in:
2020-07-02 19:15:06 +02:00
parent 3f0f30fee3
commit af899cae81
3 changed files with 6 additions and 13 deletions

View File

@@ -1,6 +1,5 @@
package com.bartlomiejpluta.ttsserver.core.lua.lib package com.bartlomiejpluta.ttsserver.core.lua.lib
import com.bartlomiejpluta.ttsserver.core.web.endpoint.ResponseType
import fi.iki.elonen.NanoHTTPD import fi.iki.elonen.NanoHTTPD
import org.luaj.vm2.LuaValue import org.luaj.vm2.LuaValue
import org.luaj.vm2.lib.TwoArgFunction import org.luaj.vm2.lib.TwoArgFunction

View File

@@ -3,6 +3,7 @@ package com.bartlomiejpluta.ttsserver.core.web.endpoint
import com.bartlomiejpluta.ttsserver.core.web.uri.UriTemplate import com.bartlomiejpluta.ttsserver.core.web.uri.UriTemplate
import fi.iki.elonen.NanoHTTPD.* import fi.iki.elonen.NanoHTTPD.*
import org.luaj.vm2.LuaClosure import org.luaj.vm2.LuaClosure
import org.luaj.vm2.LuaNil
import org.luaj.vm2.LuaTable import org.luaj.vm2.LuaTable
import org.luaj.vm2.LuaValue import org.luaj.vm2.LuaValue
import java.io.BufferedInputStream import java.io.BufferedInputStream
@@ -44,11 +45,10 @@ class DefaultEndpoint(
.let { provideResponse(it) } .let { provideResponse(it) }
private fun provideResponse(response: LuaTable) = private fun provideResponse(response: LuaTable) = when {
when (response.get("type").checkjstring()) { response.get("data") !is LuaNil -> getTextResponse(response)
ResponseType.TEXT.name -> getTextResponse(response) response.get("file") !is LuaNil -> getFileResponse(response)
ResponseType.FILE.name -> getFileResponse(response) else -> throw IllegalArgumentException("Provide 'data' or 'file' in response table")
else -> throw IllegalArgumentException("Unknown value for type in response")
} }
private fun getTextResponse(response: LuaTable) = newFixedLengthResponse( private fun getTextResponse(response: LuaTable) = newFixedLengthResponse(

View File

@@ -1,6 +0,0 @@
package com.bartlomiejpluta.ttsserver.core.web.endpoint
enum class ResponseType {
TEXT,
FILE
}