...
1 package eventsource_test
2
3 import (
4 "fmt"
5 "github.com/donovanhide/eventsource"
6 "net"
7 "net/http"
8 )
9
10 func ExampleErrorHandlingStream() {
11 listener, err := net.Listen("tcp", ":8080")
12 if err != nil {
13 return
14 }
15 defer listener.Close()
16 http.HandleFunc("/stream", func(w http.ResponseWriter, r *http.Request) {
17 http.Error(w, "Something wrong.", 500)
18 })
19 go http.Serve(listener, nil)
20
21 _, err = eventsource.Subscribe("http://127.0.0.1:8080/stream", "")
22 if err != nil {
23 if serr, ok := err.(eventsource.SubscriptionError); ok {
24 fmt.Printf("Status code: %d\n", serr.Code)
25 fmt.Printf("Message: %s\n", serr.Message)
26 } else {
27 fmt.Println("failed to subscribe")
28 }
29 }
30
31
32
33
34 }
35
View as plain text