blob: 8b8b690e99c3388cc262c2a2ede10ccc20f1a4bb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
// Copyright (c) 2021 Tulir Asokan
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
// Package socket implements a subset of the Noise protocol framework on top of websockets as used by WhatsApp.
//
// There shouldn't be any need to manually interact with this package.
// The Client struct in the top-level whatsmeow package handles everything.
package socket
import (
"errors"
"go.mau.fi/whatsmeow/binary/token"
)
const (
// Origin is the Origin header for all WhatsApp websocket connections
Origin = "https://web.whatsapp.com"
// URL is the websocket URL for the new multidevice protocol
URL = "wss://web.whatsapp.com/ws/chat"
)
const (
NoiseStartPattern = "Noise_XX_25519_AESGCM_SHA256\x00\x00\x00\x00"
WAMagicValue = 5
)
var WAConnHeader = []byte{'W', 'A', WAMagicValue, token.DictVersion}
const (
FrameMaxSize = 2 << 23
FrameLengthSize = 3
)
var (
ErrFrameTooLarge = errors.New("frame too large")
ErrSocketClosed = errors.New("frame socket is closed")
ErrSocketAlreadyOpen = errors.New("frame socket is already open")
)
|