Merge remote-tracking branch 'origin/master'

This commit is contained in:
真心 2024-01-01 19:00:48 +08:00
commit 70cb876439
No known key found for this signature in database
GPG Key ID: 62AF67230C9E6D1C
4 changed files with 27 additions and 11 deletions

View File

@ -131,6 +131,8 @@ internal object FavAddImageMsg: IActionHandler() {
val pb = ProtoUtils.decodeFromByteArray(data)
itemId = pb[2, 20009, 1].asUtf8String
}
System.gc()
}
return ok(PicInfo(

View File

@ -37,7 +37,7 @@ import kotlin.concurrent.timer
internal abstract class WebSocketClientServlet(
url: String,
private val heartbeatInterval: Long,
wsHeaders: Map<String, String>
private val wsHeaders: Map<String, String>
) : BaseTransmitServlet, WebSocketClient(URI(url), wsHeaders) {
private val sendLock = Mutex()
@ -85,6 +85,14 @@ internal abstract class WebSocketClientServlet(
}
override fun onClose(code: Int, reason: String?, remote: Boolean) {
if (code == 403) {
if (wsHeaders.containsKey("authorization")) {
val token = wsHeaders["authorization"]!!.substring(7)
LogCenter.log("WebSocketClient连接被拒绝, token: $token 失效", Level.WARN)
} else {
LogCenter.log("WebSocketClient连接被拒绝, 未设置token", Level.WARN)
}
}
LogCenter.log("WebSocketClient onClose: $code, $reason, $remote")
cancelFlowJobs()
}

View File

@ -89,7 +89,13 @@ internal abstract class WebSocketTransmitServlet(
if (path != "/api") {
eventReceivers.remove(conn)
}
LogCenter.log({ "WSServer断开(${conn.remoteSocketAddress.address.hostAddress}:${conn.remoteSocketAddress.port}$path): $code,$reason,$remote" }, Level.WARN)
runCatching {
conn.remoteSocketAddress.address.hostAddress to conn.remoteSocketAddress.port
}.onSuccess {
LogCenter.log({ "WSServer断开(${it.first}:${it.second}$path): $code,$reason,$remote" }, Level.WARN)
}.onFailure {
LogCenter.log({ "WSServer断开($path): $code,$reason,$remote" }, Level.WARN)
}
}
override fun onMessage(conn: WebSocket, message: String) {

View File

@ -67,14 +67,14 @@ internal data class NoticeEvent(
@SerialName("post_type") val postType: PostType,
@SerialName("notice_type") val type: NoticeType,
@SerialName("sub_type") val subType: NoticeSubType = NoticeSubType.None,
@SerialName("group_id") val groupId: Long = 0,
@SerialName("operator_id") val operatorId: Long = 0,
@SerialName("user_id") val userId: Long = 0,
@SerialName("sender_id") val senderId: Long = 0,
@SerialName("duration") val duration: Int = 0,
@SerialName("message_id") val msgId: Int = 0,
@SerialName("group_id") val groupId: Long = -1,
@SerialName("operator_id") val operatorId: Long = -1,
@SerialName("user_id") val userId: Long = -1,
@SerialName("sender_id") val senderId: Long = -1,
@SerialName("duration") val duration: Int = -1,
@SerialName("message_id") val msgId: Int = -1,
@SerialName("tip_text") val tip: String = "",
@SerialName("target_id") val target: Long = 0,
@SerialName("target_id") val target: Long = -1,
@SerialName("file") val file: GroupFileMsg? = null,
@SerialName("private_file") val privateFile: PrivateFileMsg? = null,
@SerialName("flag") val flag: String? = null,
@ -104,8 +104,8 @@ internal data class RequestEvent(
@SerialName("post_type") val postType: PostType,
@SerialName("request_type") val type: RequestType,
@SerialName("sub_type") val subType: RequestSubType = RequestSubType.None,
@SerialName("group_id") val groupId: Long = 0,
@SerialName("user_id") val userId: Long = 0,
@SerialName("group_id") val groupId: Long = -1,
@SerialName("user_id") val userId: Long = -1,
@SerialName("comment") val comment: String = "",
@SerialName("flag") val flag: String? = null,
)