@@ -11,7 +11,7 @@ const originalSocketSend = Socket.prototype.send;
1111class Scope {
1212 public _done : boolean ;
1313 public address ?: string ;
14- public buffer ?: Buffer | string | Uint8Array | any [ ] ;
14+ public buffer ?: string | readonly any [ ] | ArrayBufferLike ;
1515 public length ?: number ;
1616 public offset ?: number ;
1717 public port ?: number ;
@@ -25,37 +25,41 @@ class Scope {
2525 }
2626}
2727
28- function overriddenSocketSend ( msg : string | Uint8Array | any [ ] , callback ?: SendCallback ) : void ;
29- function overriddenSocketSend ( msg : string | Uint8Array | any [ ] , port ?: number , callback ?: SendCallback ) : void ;
3028function overriddenSocketSend (
31- msg : string | Uint8Array | any [ ] ,
29+ msg : string | NodeJS . ArrayBufferView | readonly any [ ] ,
3230 port ?: number ,
3331 address ?: string ,
3432 callback ?: SendCallback
3533) : void ;
3634function overriddenSocketSend (
37- msg : string | Uint8Array | any [ ] ,
35+ msg : string | NodeJS . ArrayBufferView | readonly any [ ] ,
36+ port ?: number ,
37+ callback ?: SendCallback
38+ ) : void ;
39+ function overriddenSocketSend ( msg : string | NodeJS . ArrayBufferView | readonly any [ ] , callback ?: SendCallback ) : void ;
40+ function overriddenSocketSend (
41+ msg : string | NodeJS . ArrayBufferView ,
3842 offset : number ,
3943 length : number ,
44+ port ?: number ,
45+ address ?: string ,
4046 callback ?: SendCallback
4147) : void ;
4248function overriddenSocketSend (
43- msg : string | Uint8Array | any [ ] ,
49+ msg : string | NodeJS . ArrayBufferView ,
4450 offset : number ,
4551 length : number ,
4652 port ?: number ,
4753 callback ?: SendCallback
4854) : void ;
4955function overriddenSocketSend (
50- msg : string | Uint8Array | any [ ] ,
56+ msg : string | NodeJS . ArrayBufferView ,
5157 offset : number ,
5258 length : number ,
53- port ?: number ,
54- address ?: string ,
5559 callback ?: SendCallback
5660) : void ;
5761function overriddenSocketSend (
58- msg : Buffer | string | Uint8Array | any [ ] ,
62+ msg : NodeJS . ArrayBufferView | string | readonly any [ ] ,
5963 offsetOrPortOrCallback ?: number | SendCallback ,
6064 lengthOrAddressOrCallback ?: number | string | SendCallback ,
6165 portOrCallback ?: number | SendCallback ,
@@ -70,16 +74,17 @@ function overriddenSocketSend(
7074 const length = hasLengthAndOffset ? ( lengthOrAddressOrCallback as number ) || 0 : 0 ;
7175 const offset = hasLengthAndOffset ? ( offsetOrPortOrCallback as number ) : 0 ;
7276 const port = hasLengthAndOffset ? ( portOrCallback as number ) : ( offsetOrPortOrCallback as number ) ;
77+ const message = ArrayBuffer . isView ( msg ) ? msg . buffer : msg ;
7378
74- if ( offset >= msg . length ) {
79+ if ( offset >= message . slice . length ) {
7580 throw new Error ( 'Offset into buffer too large.' ) ;
7681 }
7782
78- if ( offset + length > msg . length ) {
83+ if ( offset + length > message . slice . length ) {
7984 throw new Error ( 'Offset + length beyond buffer length.' ) ;
8085 }
8186
82- const newBuffer = msg . slice ( offset , offset + length ) ;
87+ const newBuffer = message . slice ( offset , offset + length ) ;
8388 const host = `${ address } :${ port } ` ;
8489
8590 if ( intercepts . hasOwnProperty ( host ) ) {
0 commit comments