parent
f0bdae1855
commit
58b7027259
|
@ -4,6 +4,7 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
|
"time"
|
||||||
|
|
||||||
"p83.nl/go/ekster/pkg/microsub"
|
"p83.nl/go/ekster/pkg/microsub"
|
||||||
)
|
)
|
||||||
|
@ -22,13 +23,21 @@ func newConsumer(conn net.Conn) *Consumer {
|
||||||
fmt.Fprint(conn, "\r\n")
|
fmt.Fprint(conn, "\r\n")
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
for msg := range cons.output {
|
for {
|
||||||
fmt.Fprint(conn, `event: ping`)
|
select {
|
||||||
fmt.Fprint(conn, "\r\n")
|
case <-time.Tick(10 * time.Second):
|
||||||
fmt.Fprint(conn, `data:`)
|
fmt.Fprint(conn, `event: ping`)
|
||||||
json.NewEncoder(conn).Encode(msg)
|
fmt.Fprint(conn, "\r\n")
|
||||||
fmt.Fprint(conn, "\r\n")
|
fmt.Fprint(conn, "\r\n")
|
||||||
fmt.Fprint(conn, "\r\n")
|
|
||||||
|
case msg := <-cons.output:
|
||||||
|
fmt.Fprint(conn, `event: message`)
|
||||||
|
fmt.Fprint(conn, "\r\n")
|
||||||
|
fmt.Fprint(conn, `data:`)
|
||||||
|
json.NewEncoder(conn).Encode(msg)
|
||||||
|
fmt.Fprint(conn, "\r\n")
|
||||||
|
fmt.Fprint(conn, "\r\n")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
conn.Close()
|
conn.Close()
|
||||||
}()
|
}()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user