4
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2025-09-14 12:32:31 +00:00

Update dependencies and build to go1.22 (#2113)

* Update dependencies and build to go1.22

* Fix api changes wrt to dependencies

* Update golangci config
This commit is contained in:
Wim
2024-05-23 23:44:31 +02:00
committed by GitHub
parent 56e7bd01ca
commit 2f33fe86f5
1556 changed files with 3279522 additions and 1924375 deletions

View File

@@ -26,7 +26,7 @@ const (
const (
NoiseStartPattern = "Noise_XX_25519_AESGCM_SHA256\x00\x00\x00\x00"
WAMagicValue = 5
WAMagicValue = 6
)
var WAConnHeader = []byte{'W', 'A', WAMagicValue, token.DictVersion}

View File

@@ -11,7 +11,6 @@ import (
"errors"
"fmt"
"net/http"
"net/url"
"sync"
"time"
@@ -20,8 +19,6 @@ 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
@@ -29,12 +26,15 @@ type FrameSocket struct {
log waLog.Logger
lock sync.Mutex
URL string
HTTPHeaders http.Header
Frames chan []byte
OnDisconnect func(remote bool)
WriteTimeout time.Duration
Header []byte
Proxy Proxy
Dialer websocket.Dialer
incomingLength int
receivedLength int
@@ -42,14 +42,17 @@ type FrameSocket struct {
partialHeader []byte
}
func NewFrameSocket(log waLog.Logger, header []byte, proxy Proxy) *FrameSocket {
func NewFrameSocket(log waLog.Logger, dialer websocket.Dialer) *FrameSocket {
return &FrameSocket{
conn: nil,
log: log,
Header: header,
Header: WAConnHeader,
Frames: make(chan []byte),
Proxy: proxy,
URL: URL,
HTTPHeaders: http.Header{"Origin": {Origin}},
Dialer: dialer,
}
}
@@ -98,13 +101,9 @@ func (fs *FrameSocket) Connect() error {
return ErrSocketAlreadyOpen
}
ctx, cancel := context.WithCancel(context.Background())
dialer := websocket.Dialer{
Proxy: fs.Proxy,
}
headers := http.Header{"Origin": []string{Origin}}
fs.log.Debugf("Dialing %s", URL)
conn, _, err := dialer.Dial(URL, headers)
fs.log.Debugf("Dialing %s", fs.URL)
conn, _, err := fs.Dialer.Dial(fs.URL, fs.HTTPHeaders)
if err != nil {
cancel()
return fmt.Errorf("couldn't dial whatsapp web websocket: %w", err)

View File

@@ -24,7 +24,7 @@ type NoiseSocket struct {
writeCounter uint32
readCounter uint32
writeLock sync.Mutex
destroyed uint32
destroyed atomic.Bool
stopConsumer chan struct{}
}
@@ -75,7 +75,7 @@ func (ns *NoiseSocket) Context() context.Context {
}
func (ns *NoiseSocket) Stop(disconnect bool) {
if atomic.CompareAndSwapUint32(&ns.destroyed, 0, 1) {
if ns.destroyed.CompareAndSwap(false, true) {
close(ns.stopConsumer)
ns.fs.OnDisconnect = nil
if disconnect {