From 4e1cd8ca7692a8e15049b6ab86e50d82c9582ab8 Mon Sep 17 00:00:00 2001 From: LamGC Date: Sun, 24 Apr 2022 10:40:33 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BF=87=E7=A8=8B=E4=B8=AD=E7=9A=84=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8B=E8=BD=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 先前文件下载是通过 HttpClient 手动下载, 改动已将其改为使用 TelegramBots 的下载器, 这么做可以无需配置代理就能下载 Telegram 的文件. --- src/main/kotlin/OracleAccountExtension.kt | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/OracleAccountExtension.kt b/src/main/kotlin/OracleAccountExtension.kt index 79aaabe..2d9e95c 100644 --- a/src/main/kotlin/OracleAccountExtension.kt +++ b/src/main/kotlin/OracleAccountExtension.kt @@ -4,8 +4,6 @@ import com.oracle.bmc.ConfigFileReader import com.oracle.bmc.identity.IdentityClient import com.oracle.bmc.model.BmcException import mu.KotlinLogging -import org.apache.hc.client5.http.classic.methods.HttpGet -import org.apache.hc.client5.http.impl.classic.HttpClients import org.telegram.abilitybots.api.bot.BaseAbilityBot import org.telegram.abilitybots.api.objects.* import org.telegram.abilitybots.api.util.AbilityExtension @@ -17,8 +15,6 @@ import org.telegram.telegrambots.meta.api.objects.replykeyboard.buttons.InlineKe import java.io.ByteArrayInputStream import java.security.interfaces.RSAPrivateCrtKey -private val httpClient = HttpClients.createSystem() - @Suppress("unused") class OracleAccountManagerExtension(private val bot: BaseAbilityBot) : AbilityExtension { @@ -37,9 +33,7 @@ class OracleAccountManagerExtension(private val bot: BaseAbilityBot) : AbilityEx .reply(ReplyFlow.builder(bot.db()) .action { bot, upd -> val configFile = if (upd.message.hasDocument()) { - val configUrl = bot.getFileUrl(upd.message.document.fileId) - val httpResponse = httpClient.execute(HttpGet(configUrl)) - ConfigFileReader.parse(httpResponse.entity.content, "DEFAULT") + ConfigFileReader.parse(bot.getFileAsStream(upd.message.document.fileId), "DEFAULT") } else if (upd.message.hasText()) { ConfigFileReader.parse(ByteArrayInputStream(upd.message.text.toByteArray()), "DEFAULT") } else { @@ -96,9 +90,8 @@ class OracleAccountManagerExtension(private val bot: BaseAbilityBot) : AbilityEx .action { bot, upd -> try { val privateKey = try { - val keyUrl = bot.getFileUrl(upd.message.document.fileId) - val response = httpClient.execute(HttpGet(keyUrl)) - loadPkcs8PrivateKeyFromStream(response.entity.content) + val keyStream = bot.getFileAsStream(upd.message.document.fileId) + loadPkcs8PrivateKeyFromStream(keyStream) } catch (e: Exception) { logger.error(e) { "接收密钥文件时发生错误." } bot.silent().send("接收密钥时发生错误,请重试一次。", upd.message.chatId)