From 6f04baea4e24ba52e6d13711258cc46bc3a66f7f Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 5 Feb 2019 12:30:09 +0800 Subject: [PATCH] KtorRequestsExecutor custom json formatter --- CHANGELOG.md | 2 ++ .../TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bd712fd00d..3e3bede20e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,8 @@ must be regular text ### 0.9.3 +* `KtorRequestsExecutor` now can use custom `JSON` string formatter (by default - non strict) + ### 0.8.5 * Add extension `String#toMarkdown` diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt index 7660088d98..be7ff1b773 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt @@ -22,7 +22,8 @@ class KtorRequestsExecutor( hostUrl: String = "https://api.telegram.org", callsFactories: List = emptyList(), excludeDefaultFactories: Boolean = false, - private val requestsLimiter: RequestLimiter = EmptyLimiter + private val requestsLimiter: RequestLimiter = EmptyLimiter, + private val jsonFormatter: JSON = JSON.nonstrict ) : BaseRequestsExecutor(token, hostUrl) { constructor( token: String, @@ -59,7 +60,7 @@ class KtorRequestsExecutor( throw IllegalArgumentException("Can't execute request: $request") } val content = call.response.content.toByteArray().toString(Charset.defaultCharset()) - val responseObject = JSON.parse( + val responseObject = jsonFormatter.parse( ResponseParameters.serializer(request.resultSerializer()), content )