From aefa70891cfd489fccb8a9567b5bdafb0f863ede Mon Sep 17 00:00:00 2001 From: Wim Date: Sat, 12 Mar 2022 23:02:04 +0100 Subject: Update vendor (whatsapp) --- vendor/go.mau.fi/whatsmeow/socket/constants.go | 11 +++++++---- vendor/go.mau.fi/whatsmeow/socket/framesocket.go | 12 ++++++++++-- 2 files changed, 17 insertions(+), 6 deletions(-) (limited to 'vendor/go.mau.fi/whatsmeow/socket') diff --git a/vendor/go.mau.fi/whatsmeow/socket/constants.go b/vendor/go.mau.fi/whatsmeow/socket/constants.go index 88e9a90b..8b8b690e 100644 --- a/vendor/go.mau.fi/whatsmeow/socket/constants.go +++ b/vendor/go.mau.fi/whatsmeow/socket/constants.go @@ -10,7 +10,11 @@ // The Client struct in the top-level whatsmeow package handles everything. package socket -import "errors" +import ( + "errors" + + "go.mau.fi/whatsmeow/binary/token" +) const ( // Origin is the Origin header for all WhatsApp websocket connections @@ -22,11 +26,10 @@ const ( const ( NoiseStartPattern = "Noise_XX_25519_AESGCM_SHA256\x00\x00\x00\x00" - WADictVersion = 2 - WAMagicValue = 5 + WAMagicValue = 5 ) -var WAConnHeader = []byte{'W', 'A', WAMagicValue, WADictVersion} +var WAConnHeader = []byte{'W', 'A', WAMagicValue, token.DictVersion} const ( FrameMaxSize = 2 << 23 diff --git a/vendor/go.mau.fi/whatsmeow/socket/framesocket.go b/vendor/go.mau.fi/whatsmeow/socket/framesocket.go index 2bcb21b5..2d7e4ad2 100644 --- a/vendor/go.mau.fi/whatsmeow/socket/framesocket.go +++ b/vendor/go.mau.fi/whatsmeow/socket/framesocket.go @@ -11,6 +11,7 @@ import ( "errors" "fmt" "net/http" + "net/url" "sync" "time" @@ -19,6 +20,8 @@ import ( waLog "go.mau.fi/whatsmeow/util/log" ) +type Proxy = func(*http.Request) (*url.URL, error) + type FrameSocket struct { conn *websocket.Conn ctx context.Context @@ -31,6 +34,7 @@ type FrameSocket struct { WriteTimeout time.Duration Header []byte + Proxy Proxy incomingLength int receivedLength int @@ -38,12 +42,14 @@ type FrameSocket struct { partialHeader []byte } -func NewFrameSocket(log waLog.Logger, header []byte) *FrameSocket { +func NewFrameSocket(log waLog.Logger, header []byte, proxy Proxy) *FrameSocket { return &FrameSocket{ conn: nil, log: log, Header: header, Frames: make(chan []byte), + + Proxy: proxy, } } @@ -92,7 +98,9 @@ func (fs *FrameSocket) Connect() error { return ErrSocketAlreadyOpen } ctx, cancel := context.WithCancel(context.Background()) - dialer := websocket.Dialer{} + dialer := websocket.Dialer{ + Proxy: fs.Proxy, + } headers := http.Header{"Origin": []string{Origin}} fs.log.Debugf("Dialing %s", URL) -- cgit v1.2.3