diff --git a/examples/chat/conn.go b/examples/chat/conn.go index 916bada..7cc0496 100644 --- a/examples/chat/conn.go +++ b/examples/chat/conn.go @@ -88,7 +88,7 @@ func (c *connection) writePump() { } } -// serverWs handles webocket requests from the peer. +// serverWs handles websocket requests from the peer. func serveWs(w http.ResponseWriter, r *http.Request) { if r.Method != "GET" { http.Error(w, "Method not allowed", 405) diff --git a/json.go b/json.go index ce8f00c..e0668f2 100644 --- a/json.go +++ b/json.go @@ -38,7 +38,7 @@ func ReadJSON(c *Conn, v interface{}) error { // ReadJSON reads the next JSON-encoded message from the connection and stores // it in the value pointed to by v. // -// See the documentation for the encoding/json Marshal function for details +// See the documentation for the encoding/json Unmarshal function for details // about the conversion of JSON to a Go value. func (c *Conn) ReadJSON(v interface{}) error { _, r, err := c.NextReader() diff --git a/server.go b/server.go index 4de5bb0..c24c410 100644 --- a/server.go +++ b/server.go @@ -137,6 +137,9 @@ func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeade } var rw *bufio.ReadWriter netConn, rw, err = h.Hijack() + if err != nil { + return u.returnError(w, r, http.StatusInternalServerError, err.Error()) + } br = rw.Reader if br.Buffered() > 0 {