dialer.go 752 B

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