func TestNegotiate(w http.ResponseWriter, r *http.Request) {
	_, err := w.Write([]byte(`{"ConnectionToken":"hello world","ConnectionId":"1234-ABC","URL":"/signalr","ProtocolVersion":"1337"}`))
	if err != nil {
		panic(err)
	}
}
TestNegotiate provides a sample "/negotiate" handling function.

If an error occurs while writing the response data, it will panic.
package signalr
import (
	"net/http"
	"strings"
	"github.com/gorilla/websocket"
)
func TestCompleteHandler(w http.ResponseWriter, r *http.Request) {
	switch {
	case strings.Contains(r.URL.Path, "/negotiate"):
		TestNegotiate(w, r)
	case strings.Contains(r.URL.Path, "/connect"):
		TestConnect(w, r)
	case strings.Contains(r.URL.Path, "/reconnect"):
		TestReconnect(w, r)
	case strings.Contains(r.URL.Path, "/start"):
		TestStart(w, r)
	}
}