Files
2025-04-01 11:00:41 +11:00

40 lines
924 B
Go

package plg_handler_mcp
import (
"strings"
"time"
. "github.com/mickael-kerjean/filestash/server/common"
. "github.com/mickael-kerjean/filestash/server/plugin/plg_handler_mcp/types"
)
func (this *Server) RemoveSession(userSession *UserSession) {
this.expired.Store(Hash(userSession.Token, 16), nil)
this.sessions.Delete(userSession.Id)
}
func (this *Server) ValidateToken(token string) string {
if hasToken := strings.HasPrefix(token, "Bearer "); hasToken == false {
return ""
}
token = strings.TrimPrefix(token, "Bearer ")
if _, ok := this.expired.Load(Hash(token, 16)); ok {
return ""
}
return token
}
func (this *Server) GetSession(uuid string) UserSession {
ch, _ := this.sessions.LoadOrStore(uuid, UserSession{
Id: uuid,
Chan: make(chan JSONRPCRequest),
CurrDir: "/",
HomeDir: "/",
Ping: Ping{
ID: 0,
LastResponse: time.Now(),
},
})
return ch.(UserSession)
}