【发布时间】:2021-07-22 16:17:53
【问题描述】:
如何更改 KTor 客户端中的凭据?
在创建客户端时需要安装 Auth 功能。我稍后尝试过,但它似乎不起作用,无论是第一次设置还是重复。
文档建议在创建客户端后保留它,因为设置成本很高,因此无法更改凭据似乎过于严格(当然 JetBrains 的聪明人不会这样做)。
令我惊讶的是,我有一个有效的答案,但我不确定这是一个好的答案。欢迎评论。
因为文档说创建客户端很昂贵,所以我把它放在一个单例中,然后我做了这样的事情
@ThreadLocal
Object ServerLink {
fun setClient(id:String, pw:String) {
// Create the client here and set id and pw
}
}
然后,我只需随时调用 ServerLink.setClient(newId, newPW) 即可。是的,这行得通,而且我不认为我有多个线程,但这不会是内存泄漏,或者至少是内存浪费吗?
【问题讨论】:
标签: ktor