Enable response type inference
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
package com.bartlomiejpluta.ttsserver.core.web.endpoint
|
|
||||||
|
|
||||||
enum class ResponseType {
|
|
||||||
TEXT,
|
|
||||||
FILE
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user