Skip to content

Instantly share code, notes, and snippets.

@Abdulsametileri
Created July 12, 2022 11:33
Show Gist options
  • Save Abdulsametileri/1281a14222f4258877c874421491ac2b to your computer and use it in GitHub Desktop.
Save Abdulsametileri/1281a14222f4258877c874421491ac2b to your computer and use it in GitHub Desktop.
Package Track Application WS Handler
func (p *PackageHandler) TrackByVehicleID(c echo.Context) error {
wsConn, err := p.upgrader.Upgrade(c.Response(), c.Request(), nil)
if err != nil {
return err
}
ctx, cancelFunc := context.WithCancel(context.Background())
go func() {
_, _, err = wsConn.ReadMessage()
if err != nil {
cancelFunc()
}
}()
for {
select {
case <-ctx.Done():
wsConn.Close()
return nil
default:
p, err := p.PUsecase.TrackByVehicleID(ctx, c.Param("vehicleId"))
if err != nil {
c.Logger().Error(err)
continue
}
err = wsConn.WriteJSON(p)
if err != nil {
c.Logger().Error(err)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment