mirror of
https://github.com/Li4n0/revsuit.git
synced 2026-09-21 22:30:46 +08:00
30 lines
656 B
Go
30 lines
656 B
Go
package server
|
|
|
|
import (
|
|
"io"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/li4n0/revsuit/internal/record"
|
|
log "unknwon.dev/clog/v2"
|
|
)
|
|
|
|
func ping(c *gin.Context) {
|
|
c.SetCookie("token", c.Request.Header["Token"][0], 0, "/revsuit/api/", c.Request.Host, true, true)
|
|
c.String(200, "pong")
|
|
}
|
|
|
|
func events(c *gin.Context) {
|
|
log.Info("Receive connection from %v", c.Request.RemoteAddr)
|
|
c.Stream(func(w io.Writer) bool {
|
|
c.SSEvent("message", "connect succeed")
|
|
select {
|
|
case <-c.Writer.CloseNotify():
|
|
return false
|
|
case r := <-record.Channel():
|
|
c.SSEvent("message", r.GetFlag())
|
|
}
|
|
return true
|
|
})
|
|
log.Info(c.Request.RemoteAddr, "disconnect")
|
|
}
|