You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
609 B
Go
33 lines
609 B
Go
package httputil_test
|
|
|
|
import (
|
|
"log"
|
|
"net/http"
|
|
"testing"
|
|
"time"
|
|
|
|
"git.phc.dm.unipi.it/aziis98/posti-dm/server/httputil"
|
|
)
|
|
|
|
func TestSSE(t *testing.T) {
|
|
sse := &httputil.SSEHandler{
|
|
Connected: func(client chan string) {
|
|
log.Printf(`New client connected callback`)
|
|
client <- "Messaggio 1 per questo client"
|
|
time.Sleep(1 * time.Second)
|
|
client <- "Messaggio 2 per questo client"
|
|
},
|
|
}
|
|
|
|
go func() {
|
|
for {
|
|
log.Printf(`Broadcasting message`)
|
|
sse.Broadcast("Messaggio per tutti")
|
|
time.Sleep(1 * time.Second)
|
|
}
|
|
}()
|
|
|
|
http.Handle("/sse", sse)
|
|
http.ListenAndServe(":8000", nil)
|
|
}
|