mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-29 03:26:37 +08:00
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
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 ""
|
|
}
|