func ExampleIsUnexpectedCloseError() {
	for {
		messageType, p, err := c.ReadMessage()
		if err != nil {
			if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway) {
				log.Printf("error: %v, user-agent: %v", err, req.Header.Get("User-Agent"))
			}
			return
		}
		processMesage(messageType, p)
	}
}
The websocket.IsUnexpectedCloseError function is useful for identifying
application and protocol errors.

This server application works with a client application running in the
browser. The client application does not explicitly close the websocket. The
only expected close message from the client has the code
websocket.CloseGoingAway. All other other close messages are likely the
result of an application or protocol error and are logged to aid debugging.
package websocket_test
import (
	"log"
	"net/http"
	"testing"
	"github.com/gorilla/websocket"
)
var (
	c   *websocket.Conn
	req *http.Request
)