eufy-security-client 2.4.2 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/build/error.d.ts +57 -57
- package/build/error.js +155 -155
- package/build/eufysecurity.d.ts +161 -161
- package/build/eufysecurity.js +2091 -2091
- package/build/http/api.d.ts +90 -90
- package/build/http/api.js +1407 -1407
- package/build/http/api.js.map +1 -1
- package/build/http/cache.d.ts +8 -8
- package/build/http/cache.js +33 -33
- package/build/http/const.d.ts +3 -3
- package/build/http/const.js +8545 -8545
- package/build/http/device.d.ts +360 -360
- package/build/http/device.js +2793 -2793
- package/build/http/device.js.map +1 -1
- package/build/http/error.d.ts +28 -28
- package/build/http/error.js +76 -76
- package/build/http/index.d.ts +10 -10
- package/build/http/index.js +29 -29
- package/build/http/interfaces.d.ts +202 -202
- package/build/http/interfaces.js +2 -2
- package/build/http/models.d.ts +561 -561
- package/build/http/models.js +2 -2
- package/build/http/parameter.d.ts +5 -5
- package/build/http/parameter.js +75 -75
- package/build/http/station.d.ts +292 -292
- package/build/http/station.js +6780 -6780
- package/build/http/station.js.map +1 -1
- package/build/http/types.d.ts +945 -945
- package/build/http/types.js +6070 -6070
- package/build/http/utils.d.ts +37 -37
- package/build/http/utils.js +370 -370
- package/build/index.d.ts +7 -7
- package/build/index.js +25 -25
- package/build/interfaces.d.ts +113 -113
- package/build/interfaces.js +2 -2
- package/build/mqtt/interface.d.ts +6 -6
- package/build/mqtt/interface.js +2 -2
- package/build/mqtt/model.d.ts +24 -24
- package/build/mqtt/model.js +2 -2
- package/build/mqtt/service.d.ts +30 -30
- package/build/mqtt/service.js +168 -168
- package/build/mqtt/service.js.map +1 -1
- package/build/p2p/ble.d.ts +47 -47
- package/build/p2p/ble.js +188 -188
- package/build/p2p/ble.js.map +1 -1
- package/build/p2p/error.d.ts +24 -24
- package/build/p2p/error.js +67 -67
- package/build/p2p/index.d.ts +8 -8
- package/build/p2p/index.js +27 -27
- package/build/p2p/interfaces.d.ts +162 -162
- package/build/p2p/interfaces.js +2 -2
- package/build/p2p/models.d.ts +146 -146
- package/build/p2p/models.js +2 -2
- package/build/p2p/session.d.ts +168 -168
- package/build/p2p/session.js +2087 -2087
- package/build/p2p/session.js.map +1 -1
- package/build/p2p/talkback.d.ts +10 -10
- package/build/p2p/talkback.js +22 -22
- package/build/p2p/types.d.ts +923 -923
- package/build/p2p/types.js +957 -957
- package/build/p2p/utils.d.ts +56 -56
- package/build/p2p/utils.js +653 -653
- package/build/push/client.d.ts +51 -51
- package/build/push/client.js +311 -311
- package/build/push/client.js.map +1 -1
- package/build/push/index.d.ts +5 -5
- package/build/push/index.js +24 -24
- package/build/push/interfaces.d.ts +19 -19
- package/build/push/interfaces.js +2 -2
- package/build/push/models.d.ts +292 -292
- package/build/push/models.js +30 -30
- package/build/push/parser.d.ts +28 -28
- package/build/push/parser.js +215 -215
- package/build/push/parser.js.map +1 -1
- package/build/push/service.d.ts +45 -45
- package/build/push/service.js +643 -643
- package/build/push/service.js.map +1 -1
- package/build/push/types.d.ts +176 -176
- package/build/push/types.js +192 -192
- package/build/push/utils.d.ts +7 -7
- package/build/push/utils.js +102 -102
- package/build/utils.d.ts +13 -13
- package/build/utils.js +191 -191
- package/package.json +9 -9
package/build/push/parser.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Logger } from "ts-log";
|
|
3
|
-
import { TypedEmitter } from "tiny-typed-emitter";
|
|
4
|
-
import { PushClientParserEvents } from "./interfaces";
|
|
5
|
-
export declare class PushClientParser extends TypedEmitter<PushClientParserEvents> {
|
|
6
|
-
private static proto;
|
|
7
|
-
private state;
|
|
8
|
-
private data;
|
|
9
|
-
private isWaitingForData;
|
|
10
|
-
private sizePacketSoFar;
|
|
11
|
-
private messageSize;
|
|
12
|
-
private messageTag;
|
|
13
|
-
private handshakeComplete;
|
|
14
|
-
private log;
|
|
15
|
-
private constructor();
|
|
16
|
-
resetState(): void;
|
|
17
|
-
static init(log?: Logger): Promise<PushClientParser>;
|
|
18
|
-
handleData(newData: Buffer): void;
|
|
19
|
-
private waitForData;
|
|
20
|
-
private handleFullMessage;
|
|
21
|
-
private onGotVersion;
|
|
22
|
-
private onGotMessageTag;
|
|
23
|
-
private onGotMessageSize;
|
|
24
|
-
private onGotMessageBytes;
|
|
25
|
-
private getNextMessage;
|
|
26
|
-
private getMinBytesNeeded;
|
|
27
|
-
private buildProtobufFromTag;
|
|
28
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Logger } from "ts-log";
|
|
3
|
+
import { TypedEmitter } from "tiny-typed-emitter";
|
|
4
|
+
import { PushClientParserEvents } from "./interfaces";
|
|
5
|
+
export declare class PushClientParser extends TypedEmitter<PushClientParserEvents> {
|
|
6
|
+
private static proto;
|
|
7
|
+
private state;
|
|
8
|
+
private data;
|
|
9
|
+
private isWaitingForData;
|
|
10
|
+
private sizePacketSoFar;
|
|
11
|
+
private messageSize;
|
|
12
|
+
private messageTag;
|
|
13
|
+
private handshakeComplete;
|
|
14
|
+
private log;
|
|
15
|
+
private constructor();
|
|
16
|
+
resetState(): void;
|
|
17
|
+
static init(log?: Logger): Promise<PushClientParser>;
|
|
18
|
+
handleData(newData: Buffer): void;
|
|
19
|
+
private waitForData;
|
|
20
|
+
private handleFullMessage;
|
|
21
|
+
private onGotVersion;
|
|
22
|
+
private onGotMessageTag;
|
|
23
|
+
private onGotMessageSize;
|
|
24
|
+
private onGotMessageBytes;
|
|
25
|
+
private getNextMessage;
|
|
26
|
+
private getMinBytesNeeded;
|
|
27
|
+
private buildProtobufFromTag;
|
|
28
|
+
}
|
package/build/push/parser.js
CHANGED
|
@@ -1,216 +1,216 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.PushClientParser = void 0;
|
|
27
|
-
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
28
|
-
const path = __importStar(require("path"));
|
|
29
|
-
const ts_log_1 = require("ts-log");
|
|
30
|
-
const protobuf_typescript_1 = require("protobuf-typescript");
|
|
31
|
-
const tiny_typed_emitter_1 = require("tiny-typed-emitter");
|
|
32
|
-
const models_1 = require("./models");
|
|
33
|
-
class PushClientParser extends tiny_typed_emitter_1.TypedEmitter {
|
|
34
|
-
constructor(log = ts_log_1.dummyLogger) {
|
|
35
|
-
super();
|
|
36
|
-
this.state = models_1.ProcessingState.MCS_VERSION_TAG_AND_SIZE;
|
|
37
|
-
this.data = Buffer.alloc(0);
|
|
38
|
-
this.isWaitingForData = true;
|
|
39
|
-
this.sizePacketSoFar = 0;
|
|
40
|
-
this.messageSize = 0;
|
|
41
|
-
this.messageTag = 0;
|
|
42
|
-
this.handshakeComplete = false;
|
|
43
|
-
this.log = log;
|
|
44
|
-
}
|
|
45
|
-
resetState() {
|
|
46
|
-
this.state = models_1.ProcessingState.MCS_VERSION_TAG_AND_SIZE;
|
|
47
|
-
this.data = Buffer.alloc(0);
|
|
48
|
-
this.isWaitingForData = true;
|
|
49
|
-
this.sizePacketSoFar = 0;
|
|
50
|
-
this.messageSize = 0;
|
|
51
|
-
this.messageTag = 0;
|
|
52
|
-
this.handshakeComplete = false;
|
|
53
|
-
this.removeAllListeners();
|
|
54
|
-
}
|
|
55
|
-
static async init(log = ts_log_1.dummyLogger) {
|
|
56
|
-
this.proto = await (0, protobuf_typescript_1.load)(path.join(__dirname, "./proto/mcs.proto"));
|
|
57
|
-
return new PushClientParser(log);
|
|
58
|
-
}
|
|
59
|
-
handleData(newData) {
|
|
60
|
-
this.data = Buffer.concat([this.data, newData]);
|
|
61
|
-
if (this.isWaitingForData) {
|
|
62
|
-
this.isWaitingForData = false;
|
|
63
|
-
this.waitForData();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
waitForData() {
|
|
67
|
-
const minBytesNeeded = this.getMinBytesNeeded();
|
|
68
|
-
// If we don't have all bytes yet, wait some more
|
|
69
|
-
if (this.data.length < minBytesNeeded) {
|
|
70
|
-
this.isWaitingForData = true;
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.handleFullMessage();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
handleFullMessage() {
|
|
78
|
-
switch (this.state) {
|
|
79
|
-
case models_1.ProcessingState.MCS_VERSION_TAG_AND_SIZE:
|
|
80
|
-
this.onGotVersion();
|
|
81
|
-
break;
|
|
82
|
-
case models_1.ProcessingState.MCS_TAG_AND_SIZE:
|
|
83
|
-
this.onGotMessageTag();
|
|
84
|
-
break;
|
|
85
|
-
case models_1.ProcessingState.MCS_SIZE:
|
|
86
|
-
this.onGotMessageSize();
|
|
87
|
-
break;
|
|
88
|
-
case models_1.ProcessingState.MCS_PROTO_BYTES:
|
|
89
|
-
this.onGotMessageBytes();
|
|
90
|
-
break;
|
|
91
|
-
default:
|
|
92
|
-
this.log.warn("Unknown state", { state: this.state });
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
onGotVersion() {
|
|
97
|
-
const version = this.data.readInt8(0);
|
|
98
|
-
this.data = this.data.slice(1);
|
|
99
|
-
if (version < 41 && version !== 38) {
|
|
100
|
-
throw new Error(`Got wrong version: ${version}`);
|
|
101
|
-
}
|
|
102
|
-
// Process the LoginResponse message tag.
|
|
103
|
-
this.onGotMessageTag();
|
|
104
|
-
}
|
|
105
|
-
onGotMessageTag() {
|
|
106
|
-
this.messageTag = this.data.readInt8(0);
|
|
107
|
-
this.data = this.data.slice(1);
|
|
108
|
-
this.onGotMessageSize();
|
|
109
|
-
}
|
|
110
|
-
onGotMessageSize() {
|
|
111
|
-
let incompleteSizePacket = false;
|
|
112
|
-
const reader = new protobuf_typescript_1.BufferReader(this.data);
|
|
113
|
-
try {
|
|
114
|
-
this.messageSize = reader.int32();
|
|
115
|
-
}
|
|
116
|
-
catch (error) {
|
|
117
|
-
if (error instanceof Error && error.message.startsWith("index out of range:")) {
|
|
118
|
-
incompleteSizePacket = true;
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
throw new Error(error);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
if (incompleteSizePacket) {
|
|
125
|
-
this.sizePacketSoFar = reader.pos;
|
|
126
|
-
this.state = models_1.ProcessingState.MCS_SIZE;
|
|
127
|
-
this.waitForData();
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
this.data = this.data.slice(reader.pos);
|
|
131
|
-
this.sizePacketSoFar = 0;
|
|
132
|
-
if (this.messageSize > 0) {
|
|
133
|
-
this.state = models_1.ProcessingState.MCS_PROTO_BYTES;
|
|
134
|
-
this.waitForData();
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
this.onGotMessageBytes();
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
onGotMessageBytes() {
|
|
141
|
-
const protobuf = this.buildProtobufFromTag(this.messageTag);
|
|
142
|
-
if (this.messageSize === 0) {
|
|
143
|
-
this.emit("message", { tag: this.messageTag, object: {} });
|
|
144
|
-
this.getNextMessage();
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
if (this.data.length < this.messageSize) {
|
|
148
|
-
this.state = models_1.ProcessingState.MCS_PROTO_BYTES;
|
|
149
|
-
this.waitForData();
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
const buffer = this.data.slice(0, this.messageSize);
|
|
153
|
-
this.data = this.data.slice(this.messageSize);
|
|
154
|
-
const message = protobuf.decode(buffer);
|
|
155
|
-
const object = protobuf.toObject(message, {
|
|
156
|
-
longs: String,
|
|
157
|
-
enums: String,
|
|
158
|
-
bytes: Buffer,
|
|
159
|
-
});
|
|
160
|
-
this.emit("message", { tag: this.messageTag, object: object });
|
|
161
|
-
if (this.messageTag === models_1.MessageTag.LoginResponse) {
|
|
162
|
-
if (this.handshakeComplete) {
|
|
163
|
-
this.log.error("Unexpected login response!");
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
this.handshakeComplete = true;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
this.getNextMessage();
|
|
170
|
-
}
|
|
171
|
-
getNextMessage() {
|
|
172
|
-
this.messageTag = 0;
|
|
173
|
-
this.messageSize = 0;
|
|
174
|
-
this.state = models_1.ProcessingState.MCS_TAG_AND_SIZE;
|
|
175
|
-
this.waitForData();
|
|
176
|
-
}
|
|
177
|
-
getMinBytesNeeded() {
|
|
178
|
-
switch (this.state) {
|
|
179
|
-
case models_1.ProcessingState.MCS_VERSION_TAG_AND_SIZE:
|
|
180
|
-
return 1 + 1 + 1;
|
|
181
|
-
case models_1.ProcessingState.MCS_TAG_AND_SIZE:
|
|
182
|
-
return 1 + 1;
|
|
183
|
-
case models_1.ProcessingState.MCS_SIZE:
|
|
184
|
-
return this.sizePacketSoFar + 1;
|
|
185
|
-
case models_1.ProcessingState.MCS_PROTO_BYTES:
|
|
186
|
-
return this.messageSize;
|
|
187
|
-
default:
|
|
188
|
-
throw new Error(`Unknown state: ${this.state}`);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
buildProtobufFromTag(messageTag) {
|
|
192
|
-
switch (messageTag) {
|
|
193
|
-
case models_1.MessageTag.HeartbeatPing:
|
|
194
|
-
return PushClientParser.proto.lookupType("mcs_proto.HeartbeatPing");
|
|
195
|
-
case models_1.MessageTag.HeartbeatAck:
|
|
196
|
-
return PushClientParser.proto.lookupType("mcs_proto.HeartbeatAck");
|
|
197
|
-
case models_1.MessageTag.LoginRequest:
|
|
198
|
-
return PushClientParser.proto.lookupType("mcs_proto.LoginRequest");
|
|
199
|
-
case models_1.MessageTag.LoginResponse:
|
|
200
|
-
return PushClientParser.proto.lookupType("mcs_proto.LoginResponse");
|
|
201
|
-
case models_1.MessageTag.Close:
|
|
202
|
-
return PushClientParser.proto.lookupType("mcs_proto.Close");
|
|
203
|
-
case models_1.MessageTag.IqStanza:
|
|
204
|
-
return PushClientParser.proto.lookupType("mcs_proto.IqStanza");
|
|
205
|
-
case models_1.MessageTag.DataMessageStanza:
|
|
206
|
-
return PushClientParser.proto.lookupType("mcs_proto.DataMessageStanza");
|
|
207
|
-
case models_1.MessageTag.StreamErrorStanza:
|
|
208
|
-
return PushClientParser.proto.lookupType("mcs_proto.StreamErrorStanza");
|
|
209
|
-
default:
|
|
210
|
-
throw new Error(`Unknown tag: ${this.messageTag}`);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
PushClientParser
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.PushClientParser = void 0;
|
|
27
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const ts_log_1 = require("ts-log");
|
|
30
|
+
const protobuf_typescript_1 = require("protobuf-typescript");
|
|
31
|
+
const tiny_typed_emitter_1 = require("tiny-typed-emitter");
|
|
32
|
+
const models_1 = require("./models");
|
|
33
|
+
class PushClientParser extends tiny_typed_emitter_1.TypedEmitter {
|
|
34
|
+
constructor(log = ts_log_1.dummyLogger) {
|
|
35
|
+
super();
|
|
36
|
+
this.state = models_1.ProcessingState.MCS_VERSION_TAG_AND_SIZE;
|
|
37
|
+
this.data = Buffer.alloc(0);
|
|
38
|
+
this.isWaitingForData = true;
|
|
39
|
+
this.sizePacketSoFar = 0;
|
|
40
|
+
this.messageSize = 0;
|
|
41
|
+
this.messageTag = 0;
|
|
42
|
+
this.handshakeComplete = false;
|
|
43
|
+
this.log = log;
|
|
44
|
+
}
|
|
45
|
+
resetState() {
|
|
46
|
+
this.state = models_1.ProcessingState.MCS_VERSION_TAG_AND_SIZE;
|
|
47
|
+
this.data = Buffer.alloc(0);
|
|
48
|
+
this.isWaitingForData = true;
|
|
49
|
+
this.sizePacketSoFar = 0;
|
|
50
|
+
this.messageSize = 0;
|
|
51
|
+
this.messageTag = 0;
|
|
52
|
+
this.handshakeComplete = false;
|
|
53
|
+
this.removeAllListeners();
|
|
54
|
+
}
|
|
55
|
+
static async init(log = ts_log_1.dummyLogger) {
|
|
56
|
+
this.proto = await (0, protobuf_typescript_1.load)(path.join(__dirname, "./proto/mcs.proto"));
|
|
57
|
+
return new PushClientParser(log);
|
|
58
|
+
}
|
|
59
|
+
handleData(newData) {
|
|
60
|
+
this.data = Buffer.concat([this.data, newData]);
|
|
61
|
+
if (this.isWaitingForData) {
|
|
62
|
+
this.isWaitingForData = false;
|
|
63
|
+
this.waitForData();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
waitForData() {
|
|
67
|
+
const minBytesNeeded = this.getMinBytesNeeded();
|
|
68
|
+
// If we don't have all bytes yet, wait some more
|
|
69
|
+
if (this.data.length < minBytesNeeded) {
|
|
70
|
+
this.isWaitingForData = true;
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.handleFullMessage();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
handleFullMessage() {
|
|
78
|
+
switch (this.state) {
|
|
79
|
+
case models_1.ProcessingState.MCS_VERSION_TAG_AND_SIZE:
|
|
80
|
+
this.onGotVersion();
|
|
81
|
+
break;
|
|
82
|
+
case models_1.ProcessingState.MCS_TAG_AND_SIZE:
|
|
83
|
+
this.onGotMessageTag();
|
|
84
|
+
break;
|
|
85
|
+
case models_1.ProcessingState.MCS_SIZE:
|
|
86
|
+
this.onGotMessageSize();
|
|
87
|
+
break;
|
|
88
|
+
case models_1.ProcessingState.MCS_PROTO_BYTES:
|
|
89
|
+
this.onGotMessageBytes();
|
|
90
|
+
break;
|
|
91
|
+
default:
|
|
92
|
+
this.log.warn("Unknown state", { state: this.state });
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
onGotVersion() {
|
|
97
|
+
const version = this.data.readInt8(0);
|
|
98
|
+
this.data = this.data.slice(1);
|
|
99
|
+
if (version < 41 && version !== 38) {
|
|
100
|
+
throw new Error(`Got wrong version: ${version}`);
|
|
101
|
+
}
|
|
102
|
+
// Process the LoginResponse message tag.
|
|
103
|
+
this.onGotMessageTag();
|
|
104
|
+
}
|
|
105
|
+
onGotMessageTag() {
|
|
106
|
+
this.messageTag = this.data.readInt8(0);
|
|
107
|
+
this.data = this.data.slice(1);
|
|
108
|
+
this.onGotMessageSize();
|
|
109
|
+
}
|
|
110
|
+
onGotMessageSize() {
|
|
111
|
+
let incompleteSizePacket = false;
|
|
112
|
+
const reader = new protobuf_typescript_1.BufferReader(this.data);
|
|
113
|
+
try {
|
|
114
|
+
this.messageSize = reader.int32();
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
if (error instanceof Error && error.message.startsWith("index out of range:")) {
|
|
118
|
+
incompleteSizePacket = true;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
throw new Error(error);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (incompleteSizePacket) {
|
|
125
|
+
this.sizePacketSoFar = reader.pos;
|
|
126
|
+
this.state = models_1.ProcessingState.MCS_SIZE;
|
|
127
|
+
this.waitForData();
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.data = this.data.slice(reader.pos);
|
|
131
|
+
this.sizePacketSoFar = 0;
|
|
132
|
+
if (this.messageSize > 0) {
|
|
133
|
+
this.state = models_1.ProcessingState.MCS_PROTO_BYTES;
|
|
134
|
+
this.waitForData();
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this.onGotMessageBytes();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
onGotMessageBytes() {
|
|
141
|
+
const protobuf = this.buildProtobufFromTag(this.messageTag);
|
|
142
|
+
if (this.messageSize === 0) {
|
|
143
|
+
this.emit("message", { tag: this.messageTag, object: {} });
|
|
144
|
+
this.getNextMessage();
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (this.data.length < this.messageSize) {
|
|
148
|
+
this.state = models_1.ProcessingState.MCS_PROTO_BYTES;
|
|
149
|
+
this.waitForData();
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const buffer = this.data.slice(0, this.messageSize);
|
|
153
|
+
this.data = this.data.slice(this.messageSize);
|
|
154
|
+
const message = protobuf.decode(buffer);
|
|
155
|
+
const object = protobuf.toObject(message, {
|
|
156
|
+
longs: String,
|
|
157
|
+
enums: String,
|
|
158
|
+
bytes: Buffer,
|
|
159
|
+
});
|
|
160
|
+
this.emit("message", { tag: this.messageTag, object: object });
|
|
161
|
+
if (this.messageTag === models_1.MessageTag.LoginResponse) {
|
|
162
|
+
if (this.handshakeComplete) {
|
|
163
|
+
this.log.error("Unexpected login response!");
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
this.handshakeComplete = true;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
this.getNextMessage();
|
|
170
|
+
}
|
|
171
|
+
getNextMessage() {
|
|
172
|
+
this.messageTag = 0;
|
|
173
|
+
this.messageSize = 0;
|
|
174
|
+
this.state = models_1.ProcessingState.MCS_TAG_AND_SIZE;
|
|
175
|
+
this.waitForData();
|
|
176
|
+
}
|
|
177
|
+
getMinBytesNeeded() {
|
|
178
|
+
switch (this.state) {
|
|
179
|
+
case models_1.ProcessingState.MCS_VERSION_TAG_AND_SIZE:
|
|
180
|
+
return 1 + 1 + 1;
|
|
181
|
+
case models_1.ProcessingState.MCS_TAG_AND_SIZE:
|
|
182
|
+
return 1 + 1;
|
|
183
|
+
case models_1.ProcessingState.MCS_SIZE:
|
|
184
|
+
return this.sizePacketSoFar + 1;
|
|
185
|
+
case models_1.ProcessingState.MCS_PROTO_BYTES:
|
|
186
|
+
return this.messageSize;
|
|
187
|
+
default:
|
|
188
|
+
throw new Error(`Unknown state: ${this.state}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
buildProtobufFromTag(messageTag) {
|
|
192
|
+
switch (messageTag) {
|
|
193
|
+
case models_1.MessageTag.HeartbeatPing:
|
|
194
|
+
return PushClientParser.proto.lookupType("mcs_proto.HeartbeatPing");
|
|
195
|
+
case models_1.MessageTag.HeartbeatAck:
|
|
196
|
+
return PushClientParser.proto.lookupType("mcs_proto.HeartbeatAck");
|
|
197
|
+
case models_1.MessageTag.LoginRequest:
|
|
198
|
+
return PushClientParser.proto.lookupType("mcs_proto.LoginRequest");
|
|
199
|
+
case models_1.MessageTag.LoginResponse:
|
|
200
|
+
return PushClientParser.proto.lookupType("mcs_proto.LoginResponse");
|
|
201
|
+
case models_1.MessageTag.Close:
|
|
202
|
+
return PushClientParser.proto.lookupType("mcs_proto.Close");
|
|
203
|
+
case models_1.MessageTag.IqStanza:
|
|
204
|
+
return PushClientParser.proto.lookupType("mcs_proto.IqStanza");
|
|
205
|
+
case models_1.MessageTag.DataMessageStanza:
|
|
206
|
+
return PushClientParser.proto.lookupType("mcs_proto.DataMessageStanza");
|
|
207
|
+
case models_1.MessageTag.StreamErrorStanza:
|
|
208
|
+
return PushClientParser.proto.lookupType("mcs_proto.StreamErrorStanza");
|
|
209
|
+
default:
|
|
210
|
+
throw new Error(`Unknown tag: ${this.messageTag}`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
PushClientParser.proto = null;
|
|
215
|
+
exports.PushClientParser = PushClientParser;
|
|
216
216
|
//# sourceMappingURL=parser.js.map
|
package/build/push/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/push/parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/push/parser.ts"],"names":[],"mappings":"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"}
|
package/build/push/service.d.ts
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { Logger } from "ts-log";
|
|
2
|
-
import { TypedEmitter } from "tiny-typed-emitter";
|
|
3
|
-
import { Credentials } from "./models";
|
|
4
|
-
import { PushNotificationServiceEvents } from "./interfaces";
|
|
5
|
-
export declare class PushNotificationService extends TypedEmitter<PushNotificationServiceEvents> {
|
|
6
|
-
private readonly APP_PACKAGE;
|
|
7
|
-
private readonly APP_ID;
|
|
8
|
-
private readonly APP_SENDER_ID;
|
|
9
|
-
private readonly APP_CERT_SHA1;
|
|
10
|
-
private readonly FCM_PROJECT_ID;
|
|
11
|
-
private readonly GOOGLE_API_KEY;
|
|
12
|
-
private readonly AUTH_VERSION;
|
|
13
|
-
private pushClient?;
|
|
14
|
-
private credentialsTimeout?;
|
|
15
|
-
private retryTimeout?;
|
|
16
|
-
private retryDelay;
|
|
17
|
-
private credentials;
|
|
18
|
-
private persistentIds;
|
|
19
|
-
private log;
|
|
20
|
-
private connected;
|
|
21
|
-
private connecting;
|
|
22
|
-
constructor(log?: Logger);
|
|
23
|
-
private buildExpiresAt;
|
|
24
|
-
private registerFid;
|
|
25
|
-
private renewFidToken;
|
|
26
|
-
private createPushCredentials;
|
|
27
|
-
private renewPushCredentials;
|
|
28
|
-
private loginPushCredentials;
|
|
29
|
-
private executeCheckin;
|
|
30
|
-
private registerGcm;
|
|
31
|
-
private _normalizePushMessage;
|
|
32
|
-
private onMessage;
|
|
33
|
-
private getCurrentPushRetryDelay;
|
|
34
|
-
setCredentials(credentials: Credentials): void;
|
|
35
|
-
getCredentials(): Credentials | undefined;
|
|
36
|
-
setPersistentIds(persistentIds: string[]): void;
|
|
37
|
-
getPersistentIds(): string[];
|
|
38
|
-
private _open;
|
|
39
|
-
open(): Promise<Credentials | undefined>;
|
|
40
|
-
close(): void;
|
|
41
|
-
private clearCredentialsTimeout;
|
|
42
|
-
private clearRetryTimeout;
|
|
43
|
-
private resetRetryTimeout;
|
|
44
|
-
isConnected(): boolean;
|
|
45
|
-
}
|
|
1
|
+
import { Logger } from "ts-log";
|
|
2
|
+
import { TypedEmitter } from "tiny-typed-emitter";
|
|
3
|
+
import { Credentials } from "./models";
|
|
4
|
+
import { PushNotificationServiceEvents } from "./interfaces";
|
|
5
|
+
export declare class PushNotificationService extends TypedEmitter<PushNotificationServiceEvents> {
|
|
6
|
+
private readonly APP_PACKAGE;
|
|
7
|
+
private readonly APP_ID;
|
|
8
|
+
private readonly APP_SENDER_ID;
|
|
9
|
+
private readonly APP_CERT_SHA1;
|
|
10
|
+
private readonly FCM_PROJECT_ID;
|
|
11
|
+
private readonly GOOGLE_API_KEY;
|
|
12
|
+
private readonly AUTH_VERSION;
|
|
13
|
+
private pushClient?;
|
|
14
|
+
private credentialsTimeout?;
|
|
15
|
+
private retryTimeout?;
|
|
16
|
+
private retryDelay;
|
|
17
|
+
private credentials;
|
|
18
|
+
private persistentIds;
|
|
19
|
+
private log;
|
|
20
|
+
private connected;
|
|
21
|
+
private connecting;
|
|
22
|
+
constructor(log?: Logger);
|
|
23
|
+
private buildExpiresAt;
|
|
24
|
+
private registerFid;
|
|
25
|
+
private renewFidToken;
|
|
26
|
+
private createPushCredentials;
|
|
27
|
+
private renewPushCredentials;
|
|
28
|
+
private loginPushCredentials;
|
|
29
|
+
private executeCheckin;
|
|
30
|
+
private registerGcm;
|
|
31
|
+
private _normalizePushMessage;
|
|
32
|
+
private onMessage;
|
|
33
|
+
private getCurrentPushRetryDelay;
|
|
34
|
+
setCredentials(credentials: Credentials): void;
|
|
35
|
+
getCredentials(): Credentials | undefined;
|
|
36
|
+
setPersistentIds(persistentIds: string[]): void;
|
|
37
|
+
getPersistentIds(): string[];
|
|
38
|
+
private _open;
|
|
39
|
+
open(): Promise<Credentials | undefined>;
|
|
40
|
+
close(): void;
|
|
41
|
+
private clearCredentialsTimeout;
|
|
42
|
+
private clearRetryTimeout;
|
|
43
|
+
private resetRetryTimeout;
|
|
44
|
+
isConnected(): boolean;
|
|
45
|
+
}
|