gitea/services/websocket/websocket.go

40 lines
680 B
Go
Raw Normal View History

2024-02-03 11:34:26 +01:00
// Copyright 2022 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package websocket
import (
"code.gitea.io/gitea/modules/context"
2024-02-03 22:13:32 +01:00
2024-02-03 11:34:26 +01:00
"github.com/olahol/melody"
)
func HandleConnect(s *melody.Session) {
ctx := context.GetWebContext(s.Request)
2024-02-11 14:11:51 +01:00
data := &sessionData{}
2024-02-03 11:34:26 +01:00
2024-02-11 14:11:51 +01:00
if ctx.IsSigned {
data.isSigned = true
data.userID = ctx.Doer.ID
2024-02-03 11:34:26 +01:00
}
2024-02-11 14:11:51 +01:00
s.Set("data", data)
2024-02-03 20:30:04 +01:00
// TODO: handle logouts
2024-02-03 11:34:26 +01:00
}
func HandleMessage(s *melody.Session, msg []byte) {
2024-02-11 14:11:51 +01:00
data, err := getSessionData(s)
if err != nil {
return
}
// TODO: only handle specific url message
data.onURL = string(msg)
2024-02-03 11:34:26 +01:00
}
func HandleDisconnect(s *melody.Session) {
2024-02-03 16:41:20 +01:00
// TODO: Handle disconnect
2024-02-03 11:34:26 +01:00
}