@homebridge/hap-client 4.0.5-beta.1 → 4.0.5-beta.2
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/dist/interfaces.d.ts +2 -1
- package/dist/monitor.d.ts +2 -1
- package/dist/monitor.js +11 -6
- package/dist/monitor.js.map +1 -1
- package/package.json +1 -1
package/dist/interfaces.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Buffer } from 'node:buffer';
|
|
1
2
|
import { Socket } from 'node:net';
|
|
2
3
|
export interface HapInstance {
|
|
3
4
|
name: string;
|
|
@@ -20,7 +21,7 @@ export interface HapEvInstance {
|
|
|
20
21
|
}[];
|
|
21
22
|
socket?: Socket;
|
|
22
23
|
monitoring?: boolean;
|
|
23
|
-
recvBuffer?:
|
|
24
|
+
recvBuffer?: Buffer;
|
|
24
25
|
}
|
|
25
26
|
export interface HapAccessoriesRespType {
|
|
26
27
|
accessories: Array<{
|
package/dist/monitor.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { Buffer } from 'node:buffer';
|
|
1
2
|
import { EventEmitter } from 'node:events';
|
|
2
3
|
import { HapEvInstance, ServiceType } from './interfaces.js';
|
|
3
|
-
export declare function findMessageBoundary(buffer:
|
|
4
|
+
export declare function findMessageBoundary(buffer: Buffer): number;
|
|
4
5
|
export declare class HapMonitor extends EventEmitter {
|
|
5
6
|
private readonly pin;
|
|
6
7
|
private readonly evInstances;
|
package/dist/monitor.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { Buffer } from 'node:buffer';
|
|
1
2
|
import { EventEmitter } from 'node:events';
|
|
2
3
|
import { createConnection, parseMessage } from './eventedHttpClient/index.js';
|
|
3
4
|
export function findMessageBoundary(buffer) {
|
|
4
|
-
const
|
|
5
|
+
const raw = buffer.toString('latin1');
|
|
6
|
+
const sepMatch = raw.match(/\r?\n\r?\n/);
|
|
5
7
|
if (!sepMatch || sepMatch.index === undefined) {
|
|
6
8
|
return -1;
|
|
7
9
|
}
|
|
8
|
-
const headers =
|
|
10
|
+
const headers = raw.slice(0, sepMatch.index);
|
|
9
11
|
const bodyStart = sepMatch.index + sepMatch[0].length;
|
|
10
12
|
const contentLengthMatch = headers.match(/Content-Length:\s*(\d+)/i);
|
|
11
13
|
if (!contentLengthMatch) {
|
|
@@ -54,17 +56,20 @@ export class HapMonitor extends EventEmitter {
|
|
|
54
56
|
this.debug(`[HapClient] [${instance.ipAddress}:${instance.port} (${instance.username})] Connecting`);
|
|
55
57
|
instance.socket = createConnection(instance, this.pin, { characteristics: instance.evCharacteristics });
|
|
56
58
|
instance.monitoring = true;
|
|
57
|
-
instance.recvBuffer =
|
|
59
|
+
instance.recvBuffer = Buffer.alloc(0);
|
|
58
60
|
this.debug(`[HapClient] [${instance.ipAddress}:${instance.port} (${instance.username})] Connected`);
|
|
59
61
|
instance.socket.on('data', (data) => {
|
|
60
|
-
|
|
62
|
+
const chunk = Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
63
|
+
instance.recvBuffer = instance.recvBuffer?.length
|
|
64
|
+
? Buffer.concat([instance.recvBuffer, chunk])
|
|
65
|
+
: chunk;
|
|
61
66
|
while (true) {
|
|
62
67
|
const boundary = findMessageBoundary(instance.recvBuffer);
|
|
63
68
|
if (boundary <= 0) {
|
|
64
69
|
break;
|
|
65
70
|
}
|
|
66
|
-
const messageStr = instance.recvBuffer.
|
|
67
|
-
instance.recvBuffer = instance.recvBuffer.
|
|
71
|
+
const messageStr = instance.recvBuffer.subarray(0, boundary).toString();
|
|
72
|
+
instance.recvBuffer = instance.recvBuffer.subarray(boundary);
|
|
68
73
|
this.handleEventMessage(instance, messageStr);
|
|
69
74
|
}
|
|
70
75
|
});
|
package/dist/monitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAO7E,MAAM,UAAU,mBAAmB,CAAC,MAAc;
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"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"}
|