• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

welovemedia / ffmate / 18175958211

01 Oct 2025 09:19PM UTC coverage: 64.344% (-0.6%) from 64.927%
18175958211

push

github

YoSev
fix: make static handler in goyave enforce unix paths to serve the ui

2207 of 3430 relevant lines covered (64.34%)

13.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

20.0
/internal/controller/websocket/websocket.go
1
package websocket
2

3
import (
4
        "github.com/google/uuid"
5
        "github.com/welovemedia/ffmate/v2/internal/debug"
6
        "github.com/welovemedia/ffmate/v2/internal/service"
7
        "goyave.dev/goyave/v5"
8
        "goyave.dev/goyave/v5/websocket"
9
)
10

11
type Service interface {
12
        Add(uuid string, c *websocket.Conn)
13
        Remove(uuid string)
14
}
15

16
type Controller struct {
17
        goyave.Component
18
        websocketService Service
19
}
20

21
func (c *Controller) Init(server *goyave.Server) {
36✔
22
        c.Component.Init(server)
36✔
23
        c.websocketService = server.Service(service.Websocket).(Service)
36✔
24
        debug.Controller.Debug("registered websocket controller")
36✔
25
}
36✔
26

27
func (c *Controller) OnUpgradeError(response *goyave.Response, _ *goyave.Request, status int, reason error) {
×
28
        message := map[string]string{
×
29
                "error": reason.Error(),
×
30
        }
×
31
        response.JSON(status, message)
×
32
}
×
33

34
func (c *Controller) CheckOrigin(_ *goyave.Request) bool {
×
35
        return true
×
36
}
×
37

38
func (c *Controller) Serve(w *websocket.Conn, request *goyave.Request) error {
×
39
        uuid := uuid.NewString()
×
40
        c.websocketService.Add(uuid, w)
×
41
        debug.Websocket.Debug("new connection from '%s' (uuid: %s)", request.RemoteAddress(), uuid)
×
42

×
43
        for {
×
44
                _, _, err := w.ReadMessage()
×
45
                if err != nil {
×
46
                        debug.Websocket.Debug("disconnect from '%s' (uuid: %s): %v", request.RemoteAddress(), uuid, err)
×
47
                        break
×
48
                }
49
        }
50

51
        return nil
×
52
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc