mirror of https://github.com/gorilla/websocket
Mirror of https://github.com/gorilla/websocket
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.3 KiB
45 lines
1.3 KiB
// Copyright 2015 The Gorilla WebSocket Authors. All rights reserved. |
|
// Use of this source code is governed by a BSD-style |
|
// license that can be found in the LICENSE file. |
|
|
|
package websocket_test |
|
|
|
import ( |
|
"log" |
|
"net/http" |
|
"testing" |
|
|
|
"github.com/gorilla/websocket" |
|
) |
|
|
|
var ( |
|
c *websocket.Conn |
|
req *http.Request |
|
) |
|
|
|
// 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 close messages are likely the |
|
// result of an application or protocol error and are logged to aid debugging. |
|
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 |
|
} |
|
processMessage(messageType, p) |
|
} |
|
} |
|
|
|
func processMessage(mt int, p []byte) {} |
|
|
|
// TestX prevents godoc from showing this entire file in the example. Remove |
|
// this function when a second example is added. |
|
func TestX(t *testing.T) {}
|
|
|