go.net/websocket: allow server configurable
Add websocket.Server to configure WebSocket server handler.
- Config.Header is additional headers to send, so you can use it
to send cookies or so.
To read cookies, you can use Conn.Request().Header.
- factor out Handshake.
You can set func to check origin, subprotocol etc.
Handler checks origin by default.
Fixes golang/go#4198.
Fixes golang/go#5178.
R=golang-dev, mikioh.mikioh, crobin
CC=golang-dev
https://golang.org/cl/8731044
diff --git a/websocket/client.go b/websocket/client.go
index e59da0b..df54a68 100644
--- a/websocket/client.go
+++ b/websocket/client.go
@@ -9,6 +9,7 @@
"crypto/tls"
"io"
"net"
+ "net/http"
"net/url"
)
@@ -34,6 +35,7 @@
if err != nil {
return
}
+ config.Header = http.Header(make(map[string][]string))
return
}