diff options
Diffstat (limited to 'vendor/github.com/labstack/echo/cookbook/websocket/gorilla')
-rw-r--r-- | vendor/github.com/labstack/echo/cookbook/websocket/gorilla/server.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/vendor/github.com/labstack/echo/cookbook/websocket/gorilla/server.go b/vendor/github.com/labstack/echo/cookbook/websocket/gorilla/server.go new file mode 100644 index 00000000..e9d52dbb --- /dev/null +++ b/vendor/github.com/labstack/echo/cookbook/websocket/gorilla/server.go @@ -0,0 +1,47 @@ +package main + +import ( + "fmt" + "log" + + "github.com/labstack/echo" + + "github.com/gorilla/websocket" + "github.com/labstack/echo/middleware" +) + +var ( + upgrader = websocket.Upgrader{} +) + +func hello(c echo.Context) error { + ws, err := upgrader.Upgrade(c.Response(), c.Request(), nil) + if err != nil { + return err + } + defer ws.Close() + + for { + // Write + err := ws.WriteMessage(websocket.TextMessage, []byte("Hello, Client!")) + if err != nil { + log.Fatal(err) + } + + // Read + _, msg, err := ws.ReadMessage() + if err != nil { + log.Fatal(err) + } + fmt.Printf("%s\n", msg) + } +} + +func main() { + e := echo.New() + e.Use(middleware.Logger()) + e.Use(middleware.Recover()) + e.Static("/", "../public") + e.GET("/ws", hello) + e.Logger.Fatal(e.Start(":1323")) +} |