diff options
Diffstat (limited to 'Godeps/_workspace')
-rw-r--r-- | Godeps/_workspace/src/golang.org/x/net/websocket/client.go (renamed from Godeps/_workspace/src/code.google.com/p/go.net/websocket/client.go) | 18 | ||||
-rw-r--r-- | Godeps/_workspace/src/golang.org/x/net/websocket/exampledial_test.go (renamed from Godeps/_workspace/src/code.google.com/p/go.net/websocket/exampledial_test.go) | 2 | ||||
-rw-r--r-- | Godeps/_workspace/src/golang.org/x/net/websocket/examplehandler_test.go (renamed from Godeps/_workspace/src/code.google.com/p/go.net/websocket/examplehandler_test.go) | 2 | ||||
-rw-r--r-- | Godeps/_workspace/src/golang.org/x/net/websocket/hybi.go (renamed from Godeps/_workspace/src/code.google.com/p/go.net/websocket/hybi.go) | 0 | ||||
-rw-r--r-- | Godeps/_workspace/src/golang.org/x/net/websocket/hybi_test.go (renamed from Godeps/_workspace/src/code.google.com/p/go.net/websocket/hybi_test.go) | 0 | ||||
-rw-r--r-- | Godeps/_workspace/src/golang.org/x/net/websocket/server.go (renamed from Godeps/_workspace/src/code.google.com/p/go.net/websocket/server.go) | 0 | ||||
-rw-r--r-- | Godeps/_workspace/src/golang.org/x/net/websocket/websocket.go (renamed from Godeps/_workspace/src/code.google.com/p/go.net/websocket/websocket.go) | 0 | ||||
-rw-r--r-- | Godeps/_workspace/src/golang.org/x/net/websocket/websocket_test.go (renamed from Godeps/_workspace/src/code.google.com/p/go.net/websocket/websocket_test.go) | 73 |
8 files changed, 91 insertions, 4 deletions
diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/client.go b/Godeps/_workspace/src/golang.org/x/net/websocket/client.go index a861bb92c..ef11a51e4 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/client.go +++ b/Godeps/_workspace/src/golang.org/x/net/websocket/client.go @@ -64,6 +64,20 @@ func Dial(url_, protocol, origin string) (ws *Conn, err error) { return DialConfig(config) } +var portMap = map[string]string{ + "ws": "80", + "wss": "443", +} + +func parseAuthority(location *url.URL) string { + if _, ok := portMap[location.Scheme]; ok { + if _, _, err := net.SplitHostPort(location.Host); err != nil { + return net.JoinHostPort(location.Host, portMap[location.Scheme]) + } + } + return location.Host +} + // DialConfig opens a new client connection to a WebSocket with a config. func DialConfig(config *Config) (ws *Conn, err error) { var client net.Conn @@ -75,10 +89,10 @@ func DialConfig(config *Config) (ws *Conn, err error) { } switch config.Location.Scheme { case "ws": - client, err = net.Dial("tcp", config.Location.Host) + client, err = net.Dial("tcp", parseAuthority(config.Location)) case "wss": - client, err = tls.Dial("tcp", config.Location.Host, config.TlsConfig) + client, err = tls.Dial("tcp", parseAuthority(config.Location), config.TlsConfig) default: err = ErrBadScheme diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/exampledial_test.go b/Godeps/_workspace/src/golang.org/x/net/websocket/exampledial_test.go index 777a66895..72bb9d48e 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/exampledial_test.go +++ b/Godeps/_workspace/src/golang.org/x/net/websocket/exampledial_test.go @@ -8,7 +8,7 @@ import ( "fmt" "log" - "code.google.com/p/go.net/websocket" + "golang.org/x/net/websocket" ) // This example demonstrates a trivial client. diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/examplehandler_test.go b/Godeps/_workspace/src/golang.org/x/net/websocket/examplehandler_test.go index 47b0bb9b5..f22a98fcd 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/examplehandler_test.go +++ b/Godeps/_workspace/src/golang.org/x/net/websocket/examplehandler_test.go @@ -8,7 +8,7 @@ import ( "io" "net/http" - "code.google.com/p/go.net/websocket" + "golang.org/x/net/websocket" ) // Echo the data received on the WebSocket. diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/hybi.go b/Godeps/_workspace/src/golang.org/x/net/websocket/hybi.go index f8c0b2e29..f8c0b2e29 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/hybi.go +++ b/Godeps/_workspace/src/golang.org/x/net/websocket/hybi.go diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/hybi_test.go b/Godeps/_workspace/src/golang.org/x/net/websocket/hybi_test.go index d6a19108a..d6a19108a 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/hybi_test.go +++ b/Godeps/_workspace/src/golang.org/x/net/websocket/hybi_test.go diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/server.go b/Godeps/_workspace/src/golang.org/x/net/websocket/server.go index 70322133c..70322133c 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/server.go +++ b/Godeps/_workspace/src/golang.org/x/net/websocket/server.go diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/websocket.go b/Godeps/_workspace/src/golang.org/x/net/websocket/websocket.go index 0f4917bf7..0f4917bf7 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/websocket.go +++ b/Godeps/_workspace/src/golang.org/x/net/websocket/websocket.go diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/websocket_test.go b/Godeps/_workspace/src/golang.org/x/net/websocket/websocket_test.go index 48f14b696..a376abacf 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/websocket/websocket_test.go +++ b/Godeps/_workspace/src/golang.org/x/net/websocket/websocket_test.go @@ -339,3 +339,76 @@ func TestSmallBuffer(t *testing.T) { } conn.Close() } + +var parseAuthorityTests = []struct { + in *url.URL + out string +}{ + { + &url.URL{ + Scheme: "ws", + Host: "www.google.com", + }, + "www.google.com:80", + }, + { + &url.URL{ + Scheme: "wss", + Host: "www.google.com", + }, + "www.google.com:443", + }, + { + &url.URL{ + Scheme: "ws", + Host: "www.google.com:80", + }, + "www.google.com:80", + }, + { + &url.URL{ + Scheme: "wss", + Host: "www.google.com:443", + }, + "www.google.com:443", + }, + // some invalid ones for parseAuthority. parseAuthority doesn't + // concern itself with the scheme unless it actually knows about it + { + &url.URL{ + Scheme: "http", + Host: "www.google.com", + }, + "www.google.com", + }, + { + &url.URL{ + Scheme: "http", + Host: "www.google.com:80", + }, + "www.google.com:80", + }, + { + &url.URL{ + Scheme: "asdf", + Host: "127.0.0.1", + }, + "127.0.0.1", + }, + { + &url.URL{ + Scheme: "asdf", + Host: "www.google.com", + }, + "www.google.com", + }, +} + +func TestParseAuthority(t *testing.T) { + for _, tt := range parseAuthorityTests { + out := parseAuthority(tt.in) + if out != tt.out { + t.Errorf("got %v; want %v", out, tt.out) + } + } +} |