From 559c169714ca4aad8002440b4cce38fe1d2affdd Mon Sep 17 00:00:00 2001
From: Anmol Sethi <hi@nhooyr.io>
Date: Sat, 22 Jun 2019 23:44:29 -0400
Subject: [PATCH] Add CloseRead

Closes #98
---
 websocket.go | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/websocket.go b/websocket.go
index bc90415..a2ff415 100644
--- a/websocket.go
+++ b/websocket.go
@@ -388,6 +388,16 @@ func (c *Conn) reader(ctx context.Context) (MessageType, io.Reader, error) {
 	return MessageType(h.opcode), r, nil
 }
 
+func (c *Conn) CloseRead(ctx context.Context) context.Context {
+	ctx, cancel := context.WithCancel(ctx)
+	go func() {
+		defer cancel()
+		c.Reader(ctx)
+		c.Close(StatusPolicyViolation, "unexpected data message")
+	}()
+	return ctx
+}
+
 // messageReader enables reading a data frame from the WebSocket connection.
 type messageReader struct {
 	c   *Conn
-- 
GitLab