This commit is contained in:
InsanusMokrassar 2020-05-16 20:43:09 +06:00
parent 85317a510e
commit 7008f312dc
2 changed files with 16 additions and 12 deletions

View File

@ -83,9 +83,7 @@ fun startListenWebhooks(
module {
routing {
listenRoute ?.also {
route(it) {
includeWebhookHandlingInRoute(scope, exceptionsHandler, block)
}
createRouteFromPath(it).includeWebhookHandlingInRoute(scope, exceptionsHandler, block)
} ?: includeWebhookHandlingInRoute(scope, exceptionsHandler, block)
}
}
@ -97,11 +95,11 @@ fun startListenWebhooks(
privateKeyConfig::aliasPassword
) {
host = listenHost
this.port = listenPort
port = listenPort
}
} ?: connector {
host = listenHost
this.port = listenPort
port = listenPort
}
}
@ -117,7 +115,7 @@ internal suspend fun RequestsExecutor.internalSetWebhookInfoAndStartListenWebhoo
setWebhookRequest: Request<Boolean>,
exceptionsHandler: ExceptionHandler<Unit> = {},
listenHost: String = "0.0.0.0",
listenRoute: String = "/",
listenRoute: String? = null,
privateKeyConfig: WebhookPrivateKeyConfig? = null,
scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()),
block: UpdateReceiver<Update>
@ -186,7 +184,7 @@ suspend fun RequestsExecutor.setWebhookInfoAndStartListenWebhooks(
setWebhookRequest: MultipartRequestImpl<SetWebhook, Map<String, MultipartFile>, Boolean>,
exceptionsHandler: ExceptionHandler<Unit> = {},
listenHost: String = "0.0.0.0",
listenRoute: String = "/",
listenRoute: String? = null,
privateKeyConfig: WebhookPrivateKeyConfig? = null,
scope: CoroutineScope = CoroutineScope(Executors.newFixedThreadPool(4).asCoroutineDispatcher()),
block: UpdateReceiver<Update>

View File

@ -7,6 +7,12 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.*
import kotlinx.serialization.*
import kotlinx.serialization.builtins.serializer
private fun correctWebhookUrl(sourceUrl: String) = if (sourceUrl.contains("://")) {
sourceUrl
} else {
"https://$sourceUrl"
}
fun SetWebhook(
url: String,
certificate: MultipartFile,
@ -14,7 +20,7 @@ fun SetWebhook(
allowedUpdates: List<String>? = null
): MultipartRequestImpl<SetWebhook, Map<String, MultipartFile>, Boolean> = MultipartRequestImpl(
SetWebhook(
url,
correctWebhookUrl(url),
null,
maxAllowedConnections,
allowedUpdates
@ -28,7 +34,7 @@ fun SetWebhook(
maxAllowedConnections: Int? = null,
allowedUpdates: List<String>? = null
): SetWebhook = SetWebhook(
url,
correctWebhookUrl(url),
certificate.fileId,
maxAllowedConnections,
allowedUpdates
@ -40,8 +46,8 @@ fun SetWebhook(
maxAllowedConnections: Int? = null,
allowedUpdates: List<String>? = null
): Request<Boolean> = when (certificate) {
is MultipartFile -> SetWebhook(url, certificate as MultipartFile, maxAllowedConnections, allowedUpdates)
is FileId -> SetWebhook(url, certificate as FileId, maxAllowedConnections, allowedUpdates)
is MultipartFile -> SetWebhook(correctWebhookUrl(url), certificate as MultipartFile, maxAllowedConnections, allowedUpdates)
is FileId -> SetWebhook(correctWebhookUrl(url), certificate as FileId, maxAllowedConnections, allowedUpdates)
}
fun SetWebhook(
@ -49,7 +55,7 @@ fun SetWebhook(
maxAllowedConnections: Int? = null,
allowedUpdates: List<String>? = null
) = SetWebhook(
url,
correctWebhookUrl(url),
null,
maxAllowedConnections,
allowedUpdates