summaryrefslogtreecommitdiff
path: root/libgo/go/websocket/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/websocket/server.go')
-rw-r--r--libgo/go/websocket/server.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/libgo/go/websocket/server.go b/libgo/go/websocket/server.go
index 9420c47191d..57dc4fd1dff 100644
--- a/libgo/go/websocket/server.go
+++ b/libgo/go/websocket/server.go
@@ -7,8 +7,8 @@ package websocket
import (
"bufio"
"fmt"
- "http"
"io"
+ "net/http"
)
func newServerConn(rwc io.ReadWriteCloser, buf *bufio.ReadWriter, req *http.Request) (conn *Conn, err error) {
@@ -20,6 +20,7 @@ func newServerConn(rwc io.ReadWriteCloser, buf *bufio.ReadWriter, req *http.Requ
fmt.Fprintf(buf, "Sec-WebSocket-Version: %s\r\n", SupportedProtocolVersion)
buf.WriteString("\r\n")
buf.WriteString(err.Error())
+ buf.Flush()
return
}
if err != nil {
@@ -34,12 +35,17 @@ func newServerConn(rwc io.ReadWriteCloser, buf *bufio.ReadWriter, req *http.Requ
fmt.Fprintf(buf, "HTTP/1.1 %03d %s\r\n", code, http.StatusText(code))
buf.WriteString("\r\n")
buf.WriteString(err.Error())
+ buf.Flush()
return
}
config.Protocol = nil
err = hs.AcceptHandshake(buf.Writer)
if err != nil {
+ code = http.StatusBadRequest
+ fmt.Fprintf(buf, "HTTP/1.1 %03d %s\r\n", code, http.StatusText(code))
+ buf.WriteString("\r\n")
+ buf.Flush()
return
}
conn = hs.NewServerConn(buf, rwc, req)