...

Source file src/github.com/donovanhide/eventsource/example_error_handling_stream_test.go

Documentation: github.com/donovanhide/eventsource

     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  	// Output:
    32  	// Status code: 500
    33  	// Message: Something wrong.
    34  }
    35  

View as plain text