Compare commits

...

8 Commits
0.5.0 ... 0.5.2

Author SHA1 Message Date
13ca419473 fixes in UnifiedRequester 2021-05-21 18:04:04 +06:00
b80f1a0773 start 0.5.2 2021-05-21 17:56:36 +06:00
e85101c74e Merge pull request #63 from InsanusMokrassar/0.5.1
0.5.1
2021-05-20 10:23:40 +06:00
90668bdf63 Update CHANGELOG.md 2021-05-20 10:21:09 +06:00
e1a00079a5 Update gradle.properties 2021-05-20 10:11:53 +06:00
e3add4df42 Update CHANGELOG.md 2021-05-20 10:11:07 +06:00
ced1a3bccb start 0.5.1 2021-05-20 10:10:30 +06:00
8d13a14343 Merge pull request #62 from InsanusMokrassar/0.5.0
0.5.0
2021-05-18 09:42:15 +06:00
3 changed files with 40 additions and 22 deletions

View File

@@ -1,5 +1,16 @@
# Changelog
## 0.5.2
* `Ktor`:
* `Client`:
* Fixes in `UnifiedRequester`
## 0.5.1
* `Versions`:
* `Kotlin Serialization`: `1.2.0` -> `1.2.1`
## 0.5.0
**Notice**: This version is still depend on Kotlin

View File

@@ -9,7 +9,7 @@ org.gradle.jvmargs=-Xmx2g
kotlin_version=1.5.0
kotlin_coroutines_version=1.5.0
kotlin_serialisation_core_version=1.2.0
kotlin_serialisation_core_version=1.2.1
kotlin_exposed_version=0.31.1
ktor_version=1.5.4
@@ -45,5 +45,5 @@ dokka_version=1.4.32
# Project data
group=dev.inmo
version=0.5.0
android_code_version=41
version=0.5.2
android_code_version=43

View File

@@ -15,30 +15,21 @@ class UnifiedRequester(
suspend fun <ResultType> uniget(
url: String,
resultDeserializer: DeserializationStrategy<ResultType>
): ResultType = client.get<StandardKtorSerialInputData>(
url
).let {
serialFormat.decodeDefault(resultDeserializer, it)
}
): ResultType = client.uniget(url, resultDeserializer, serialFormat)
fun <T> encodeUrlQueryValue(
serializationStrategy: SerializationStrategy<T>,
value: T
) = serialFormat.encodeHex(
serializationStrategy,
value
) = serializationStrategy.encodeUrlQueryValue(
value,
serialFormat
)
suspend fun <BodyType, ResultType> unipost(
url: String,
bodyInfo: BodyPair<BodyType>,
resultDeserializer: DeserializationStrategy<ResultType>
) = client.post<StandardKtorSerialInputData>(url) {
body = serialFormat.encodeDefault(bodyInfo.first, bodyInfo.second)
}.let {
serialFormat.decodeDefault(resultDeserializer, it)
}
) = client.unipost(url, bodyInfo, resultDeserializer, serialFormat)
fun <T> createStandardWebsocketFlow(
url: String,
@@ -51,14 +42,30 @@ val defaultRequester = UnifiedRequester()
suspend fun <ResultType> HttpClient.uniget(
url: String,
resultDeserializer: DeserializationStrategy<ResultType>
) = defaultRequester.uniget(url, resultDeserializer)
resultDeserializer: DeserializationStrategy<ResultType>,
serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat
) = get<StandardKtorSerialInputData>(
url
).let {
serialFormat.decodeDefault(resultDeserializer, it)
}
fun <T> SerializationStrategy<T>.encodeUrlQueryValue(value: T) = defaultRequester.encodeUrlQueryValue(this, value)
fun <T> SerializationStrategy<T>.encodeUrlQueryValue(
value: T,
serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat
) = serialFormat.encodeHex(
this,
value
)
suspend fun <BodyType, ResultType> HttpClient.unipost(
url: String,
bodyInfo: BodyPair<BodyType>,
resultDeserializer: DeserializationStrategy<ResultType>
) = defaultRequester.unipost(url, bodyInfo, resultDeserializer)
resultDeserializer: DeserializationStrategy<ResultType>,
serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat
) = post<StandardKtorSerialInputData>(url) {
body = serialFormat.encodeDefault(bodyInfo.first, bodyInfo.second)
}.let {
serialFormat.decodeDefault(resultDeserializer, it)
}