summaryrefslogtreecommitdiff
path: root/src/pkg/websocket/client.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/websocket/client.go')
-rw-r--r--src/pkg/websocket/client.go76
1 files changed, 38 insertions, 38 deletions
diff --git a/src/pkg/websocket/client.go b/src/pkg/websocket/client.go
index bedaec02f..c81f4f440 100644
--- a/src/pkg/websocket/client.go
+++ b/src/pkg/websocket/client.go
@@ -5,40 +5,40 @@
package websocket
import (
- "bufio";
- "http";
- "io";
- "net";
- "os";
+ "bufio"
+ "http"
+ "io"
+ "net"
+ "os"
)
type ProtocolError struct {
- os.ErrorString;
+ os.ErrorString
}
var (
- ErrBadStatus = &ProtocolError{"bad status"};
- ErrNoUpgrade = &ProtocolError{"no upgrade"};
- ErrBadUpgrade = &ProtocolError{"bad upgrade"};
- ErrNoWebSocketOrigin = &ProtocolError{"no WebSocket-Origin"};
- ErrBadWebSocketOrigin = &ProtocolError{"bad WebSocket-Origin"};
- ErrNoWebSocketLocation = &ProtocolError{"no WebSocket-Location"};
- ErrBadWebSocketLocation = &ProtocolError{"bad WebSocket-Location"};
- ErrNoWebSocketProtocol = &ProtocolError{"no WebSocket-Protocol"};
- ErrBadWebSocketProtocol = &ProtocolError{"bad WebSocket-Protocol"};
+ ErrBadStatus = &ProtocolError{"bad status"}
+ ErrNoUpgrade = &ProtocolError{"no upgrade"}
+ ErrBadUpgrade = &ProtocolError{"bad upgrade"}
+ ErrNoWebSocketOrigin = &ProtocolError{"no WebSocket-Origin"}
+ ErrBadWebSocketOrigin = &ProtocolError{"bad WebSocket-Origin"}
+ ErrNoWebSocketLocation = &ProtocolError{"no WebSocket-Location"}
+ ErrBadWebSocketLocation = &ProtocolError{"bad WebSocket-Location"}
+ ErrNoWebSocketProtocol = &ProtocolError{"no WebSocket-Protocol"}
+ ErrBadWebSocketProtocol = &ProtocolError{"bad WebSocket-Protocol"}
)
// newClient creates a new Web Socket client connection.
func newClient(resourceName, host, origin, location, protocol string, rwc io.ReadWriteCloser) (ws *Conn, err os.Error) {
- br := bufio.NewReader(rwc);
- bw := bufio.NewWriter(rwc);
- err = handshake(resourceName, host, origin, location, protocol, br, bw);
+ br := bufio.NewReader(rwc)
+ bw := bufio.NewWriter(rwc)
+ err = handshake(resourceName, host, origin, location, protocol, br, bw)
if err != nil {
return
}
- buf := bufio.NewReadWriter(br, bw);
- ws = newConn(origin, location, protocol, buf, rwc);
- return;
+ buf := bufio.NewReadWriter(br, bw)
+ ws = newConn(origin, location, protocol, buf, rwc)
+ return
}
// Dial opens new Web Socket client connection.
@@ -68,55 +68,55 @@ func newClient(resourceName, host, origin, location, protocol string, rwc io.Rea
// }
func Dial(url, protocol, origin string) (ws *Conn, err os.Error) {
- parsedUrl, err := http.ParseURL(url);
+ parsedUrl, err := http.ParseURL(url)
if err != nil {
return
}
- client, err := net.Dial("tcp", "", parsedUrl.Host);
+ client, err := net.Dial("tcp", "", parsedUrl.Host)
if err != nil {
return
}
- return newClient(parsedUrl.Path, parsedUrl.Host, origin, url, protocol, client);
+ return newClient(parsedUrl.Path, parsedUrl.Host, origin, url, protocol, client)
}
func handshake(resourceName, host, origin, location, protocol string, br *bufio.Reader, bw *bufio.Writer) (err os.Error) {
- bw.WriteString("GET " + resourceName + " HTTP/1.1\r\n");
- bw.WriteString("Upgrade: WebSocket\r\n");
- bw.WriteString("Connection: Upgrade\r\n");
- bw.WriteString("Host: " + host + "\r\n");
- bw.WriteString("Origin: " + origin + "\r\n");
+ bw.WriteString("GET " + resourceName + " HTTP/1.1\r\n")
+ bw.WriteString("Upgrade: WebSocket\r\n")
+ bw.WriteString("Connection: Upgrade\r\n")
+ bw.WriteString("Host: " + host + "\r\n")
+ bw.WriteString("Origin: " + origin + "\r\n")
if protocol != "" {
bw.WriteString("WebSocket-Protocol: " + protocol + "\r\n")
}
- bw.WriteString("\r\n");
- bw.Flush();
- resp, err := http.ReadResponse(br);
+ bw.WriteString("\r\n")
+ bw.Flush()
+ resp, err := http.ReadResponse(br)
if err != nil {
return
}
if resp.Status != "101 Web Socket Protocol Handshake" {
return ErrBadStatus
}
- upgrade, found := resp.Header["Upgrade"];
+ upgrade, found := resp.Header["Upgrade"]
if !found {
return ErrNoUpgrade
}
if upgrade != "WebSocket" {
return ErrBadUpgrade
}
- connection, found := resp.Header["Connection"];
+ connection, found := resp.Header["Connection"]
if !found || connection != "Upgrade" {
return ErrBadUpgrade
}
- ws_origin, found := resp.Header["Websocket-Origin"];
+ ws_origin, found := resp.Header["Websocket-Origin"]
if !found {
return ErrNoWebSocketOrigin
}
if ws_origin != origin {
return ErrBadWebSocketOrigin
}
- ws_location, found := resp.Header["Websocket-Location"];
+ ws_location, found := resp.Header["Websocket-Location"]
if !found {
return ErrNoWebSocketLocation
}
@@ -124,7 +124,7 @@ func handshake(resourceName, host, origin, location, protocol string, br *bufio.
return ErrBadWebSocketLocation
}
if protocol != "" {
- ws_protocol, found := resp.Header["Websocket-Protocol"];
+ ws_protocol, found := resp.Header["Websocket-Protocol"]
if !found {
return ErrNoWebSocketProtocol
}
@@ -132,5 +132,5 @@ func handshake(resourceName, host, origin, location, protocol string, br *bufio.
return ErrBadWebSocketProtocol
}
}
- return;
+ return
}