dial.go 566 B

123456789101112131415161718192021222324
  1. // Copyright 2015 The Go Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. package websocket
  5. import (
  6. "crypto/tls"
  7. "net"
  8. )
  9. func dialWithDialer(dialer *net.Dialer, config *Config) (conn net.Conn, err error) {
  10. switch config.Location.Scheme {
  11. case "ws":
  12. conn, err = dialer.Dial("tcp", parseAuthority(config.Location))
  13. case "wss":
  14. conn, err = tls.DialWithDialer(dialer, "tcp", parseAuthority(config.Location), config.TlsConfig)
  15. default:
  16. err = ErrBadScheme
  17. }
  18. return
  19. }