Allow modifying IMirai.Http

This commit is contained in:
Him188 2021-01-11 18:57:01 +08:00
parent 45c5e0fb9c
commit a7dabd63aa
2 changed files with 16 additions and 9 deletions

View File

@ -7,13 +7,14 @@
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
@file:Suppress("INTERFACE_NOT_SUPPORTED")
@file:Suppress("INTERFACE_NOT_SUPPORTED", "PropertyName")
@file:JvmName("Mirai")
@file:OptIn(LowLevelApi::class, MiraiExperimentalApi::class, MiraiInternalApi::class)
package net.mamoe.mirai
import io.ktor.client.*
import io.ktor.client.engine.okhttp.*
import net.mamoe.kjbb.JvmBlockingBridge
import net.mamoe.mirai.contact.*
import net.mamoe.mirai.event.events.BotInvitedJoinGroupRequestEvent
@ -45,20 +46,26 @@ public interface IMirai : LowLevelApiAccessor {
*
* @see BotFactory.INSTANCE
*/
@MiraiInternalApi
@Suppress("PropertyName")
public val BotFactory: BotFactory
/**
* Mirai 全局使用的 [FileCacheStrategy]. 覆盖后将会立即应用到全局.
* Mirai 全局使用的 [FileCacheStrategy].
*
* 覆盖后将会立即应用到全局.
*/
@Suppress("PropertyName")
public var FileCacheStrategy: FileCacheStrategy
@Suppress("PropertyName")
@MiraiInternalApi
public val Http: HttpClient
/**
* Mirai 上传好友图片等使用的 Ktor [HttpClient].
* 默认使用 [OkHttp] 引擎, 连接超时为 30s.
*
* 覆盖后将会立即应用到全局.
*/
public var Http: HttpClient
/**
* 获取 uin
*/
public fun getUin(contactOrBot: ContactOrBot): Long {
return if (contactOrBot is Group)
calculateGroupUinByGroupCode(contactOrBot.id)

View File

@ -108,7 +108,7 @@ internal open class MiraiImpl : IMirai, LowLevelApiAccessor {
override var FileCacheStrategy: FileCacheStrategy = net.mamoe.mirai.utils.FileCacheStrategy.PlatformDefault
override val Http: HttpClient = HttpClient(OkHttp) {
override var Http: HttpClient = HttpClient(OkHttp) {
install(HttpTimeout) {
this.requestTimeoutMillis = 30_0000
this.connectTimeoutMillis = 30_0000