mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-05 04:56:37 +08:00
split session tracker helpers
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package service
|
||||
|
||||
import "strings"
|
||||
|
||||
func fallbackSessionDeviceID(deviceName, client, remoteEndPoint string) string {
|
||||
parts := []string{strings.TrimSpace(deviceName), strings.TrimSpace(client), strings.TrimSpace(remoteEndPoint)}
|
||||
joined := strings.Trim(strings.Join(parts, "|"), "|")
|
||||
if joined == "" {
|
||||
joined = "unknown"
|
||||
}
|
||||
return "rt-" + fingerprint(client, joined)
|
||||
}
|
||||
|
||||
func sessionDeviceKey(sess RealtimeSession) string {
|
||||
return realtimeSessionTerminalKey(sess.DeviceID, sess.DeviceName, sess.Client, sess.RemoteEndPoint)
|
||||
}
|
||||
|
||||
func realtimeSessionTerminalKey(deviceID, deviceName, client, remoteEndPoint string) string {
|
||||
deviceName = strings.TrimSpace(deviceName)
|
||||
if deviceName != "" {
|
||||
return "fp-" + fingerprint(client, deviceName)
|
||||
}
|
||||
deviceID = strings.TrimSpace(deviceID)
|
||||
if deviceID != "" {
|
||||
return deviceID
|
||||
}
|
||||
return fallbackSessionDeviceID(deviceName, client, remoteEndPoint)
|
||||
}
|
||||
|
||||
func firstNonEmptyString(values ...string) string {
|
||||
for _, value := range values {
|
||||
if strings.TrimSpace(value) != "" {
|
||||
return strings.TrimSpace(value)
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
Reference in New Issue
Block a user