mirror of
https://github.com/LamGC/ScalaBot.git
synced 2025-07-01 12:57:24 +00:00
refactor(config): 将与配置相关的内容迁移到 scalabot-meta 模块.
通过将配置迁移到单独的模块, 可以方便使用其他程序扩展 ScaleBot, 而不仅仅是让 ScaleBot 成为扩展的平台. BREAKING CHANGE: 与配置有关的 Class 移动到了 scalabot-meta 模块. 目前仅所有配置类(以 `Config` 结尾的 Class)和相应的序列化类(以 `Serializer` 结尾的)都迁移到了 meta 模块, 但其工具方法则作为扩展函数保留在 app 模块中. 这么做的好处是为了方便其他应用(例如 ScalaBot 外部管理程序)根据需要生成配置文件. scalabot-meta 将会作为依赖项发布, 可根据需要获取 ScalaBot-meta 生成 ScalaBot 的配置. 此次改动普通用户无需迁移.
This commit is contained in:
26
scalabot-meta/src/main/kotlin/UsernameAuthenticator.kt
Normal file
26
scalabot-meta/src/main/kotlin/UsernameAuthenticator.kt
Normal file
@ -0,0 +1,26 @@
|
||||
package net.lamgc.scalabot.config
|
||||
|
||||
import com.google.gson.JsonObject
|
||||
import com.sun.net.httpserver.BasicAuthenticator
|
||||
|
||||
class UsernameAuthenticator(private val username: String, private val password: String) :
|
||||
BasicAuthenticator("metrics") {
|
||||
override fun checkCredentials(username: String?, password: String?): Boolean =
|
||||
this.username == username && this.password == password
|
||||
|
||||
fun toJsonObject(): JsonObject = JsonObject().apply {
|
||||
addProperty("username", username)
|
||||
addProperty("password", password)
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
return other is UsernameAuthenticator && this.username == other.username && this.password == other.password
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = username.hashCode()
|
||||
result = 31 * result + password.hashCode()
|
||||
return result
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user