add crud repo server and change a lot of different things
This commit is contained in:
core/ktor
client
src
commonMain
kotlin
com
insanusmokrassar
postssystem
core
ktor
client
server
src
main
kotlin
com
insanusmokrassar
postssystem
core
ktor
ktor
client
src
commonMain
kotlin
com
insanusmokrassar
postssystem
ktor
client
server
src
jvmMain
kotlin
com
insanusmokrassar
postssystem
tests
src
test
kotlin
com
insanusmokrassar
postssystem
ktor
tests
utils/repos
common
src
commonMain
kotlin
com
insanusmokrassar
postssystem
utils
repos
exposed
src
main
kotlin
com
insanusmokrassar
postssystem
utils
repos
ktor
client
src
commonMain
kotlin
com
insanusmokrassar
postssystem
utils
repos
ktor
server
@ -1,12 +1,15 @@
|
||||
package com.insanusmokrassar.postssystem.ktor.server
|
||||
|
||||
import com.insanusmokrassar.postssystem.ktor.CorrectCloseException
|
||||
import com.insanusmokrassar.postssystem.ktor.standardKtorSerialFormat
|
||||
import com.insanusmokrassar.postssystem.utils.common.safely
|
||||
import io.ktor.http.cio.websocket.*
|
||||
import io.ktor.routing.Route
|
||||
import io.ktor.websocket.webSocket
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.collect
|
||||
import kotlinx.serialization.DeserializationStrategy
|
||||
import kotlinx.serialization.SerializationStrategy
|
||||
|
||||
private suspend fun DefaultWebSocketSession.checkReceivedAndCloseIfExists() {
|
||||
if (incoming.poll() != null) {
|
||||
@ -29,3 +32,14 @@ fun <T> Route.includeWebsocketHandling(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun <T> Route.includeWebsocketHandling(
|
||||
suburl: String,
|
||||
flow: Flow<T>,
|
||||
serializer: SerializationStrategy<T>
|
||||
) = includeWebsocketHandling(
|
||||
suburl,
|
||||
flow
|
||||
) {
|
||||
standardKtorSerialFormat.encodeToByteArray(serializer, it)
|
||||
}
|
||||
|
@ -30,6 +30,14 @@ suspend fun ApplicationCall.getParameterOrSendError(
|
||||
field: String
|
||||
) = parameters[field].also {
|
||||
if (it == null) {
|
||||
respond(HttpStatusCode.BadRequest, "request must contains $field")
|
||||
respond(HttpStatusCode.BadRequest, "Request must contains $field")
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun ApplicationCall.getQueryParameterOrSendError(
|
||||
field: String
|
||||
) = request.queryParameters[field].also {
|
||||
if (it == null) {
|
||||
respond(HttpStatusCode.BadRequest, "Request query parametersmust contains $field")
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user