dialer.go 758 B

1234567891011121314151617181920212223242526
  1. package gorilla
  2. import (
  3. "context"
  4. "net/http"
  5. "github.com/kataras/neffos"
  6. gorilla "github.com/gorilla/websocket"
  7. )
  8. // DefaultDialer is a gorilla/websocket dialer with all fields set to the default values.
  9. var DefaultDialer = Dialer(gorilla.DefaultDialer, make(http.Header))
  10. // Dialer is a `neffos.Dialer` type for the gorilla/websocket subprotocol implementation.
  11. // Should be used on `Dial` to create a new client/client-side connection.
  12. func Dialer(dialer *gorilla.Dialer, requestHeader http.Header) neffos.Dialer {
  13. return func(ctx context.Context, url string) (neffos.Socket, error) {
  14. underline, _, err := dialer.DialContext(ctx, url, requestHeader)
  15. if err != nil {
  16. return nil, err
  17. }
  18. return newSocket(underline, nil, true), nil
  19. }
  20. }