OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / github.com / gorilla / websocket / example_test.go
diff --git a/vendor/github.com/gorilla/websocket/example_test.go b/vendor/github.com/gorilla/websocket/example_test.go
new file mode 100644 (file)
index 0000000..96449ea
--- /dev/null
@@ -0,0 +1,46 @@
+// 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 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
+               }
+               processMesage(messageType, p)
+       }
+}
+
+func processMesage(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) {}