commonize url query parameters encoding/decoding

This commit is contained in:
2020-08-31 00:29:34 +06:00
parent 00068a064f
commit 4cc4d3d4ec
6 changed files with 41 additions and 37 deletions

View File

@@ -4,8 +4,7 @@ import com.insanusmokrassar.postssystem.ktor.standardKtorSerialFormat
import io.ktor.client.HttpClient
import io.ktor.client.request.get
import io.ktor.client.request.post
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.*
typealias BodyPair<T> = Pair<SerializationStrategy<T>, T>
@@ -18,6 +17,11 @@ suspend fun <ResultType> HttpClient.uniget(
standardKtorSerialFormat.decodeFromByteArray(resultDeserializer, it)
}
fun <T> SerializationStrategy<T>.encodeUrlQueryValue(value: T) = standardKtorSerialFormat.encodeToHexString(
this,
value
)
suspend fun <BodyType, ResultType> HttpClient.unipost(
url: String,
bodyInfo: BodyPair<BodyType>,