File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ const PerMessageDeflate = require ( '../../lib/permessage-deflate' ) ;
2+
3+ // Wrap a PerMessageDeflate, making its compress & decompress methods slow so that
4+ // can reliably test race conditions.
5+ exports . makeDeflateSlow = ( ws , delayMs ) => {
6+ const perMessageDeflateInstance =
7+ ws . _extensions [ PerMessageDeflate . extensionName ] ;
8+
9+ const compress = perMessageDeflateInstance . compress ;
10+ const decompress = perMessageDeflateInstance . decompress ;
11+
12+ const slowDeflate = Object . assign ( perMessageDeflateInstance , {
13+ compress ( ) {
14+ setTimeout (
15+ ( ) => compress . apply ( perMessageDeflateInstance , arguments ) ,
16+ delayMs
17+ ) ;
18+ } ,
19+ decompress ( ) {
20+ setTimeout (
21+ ( ) => decompress . apply ( perMessageDeflateInstance , arguments ) ,
22+ delayMs
23+ ) ;
24+ }
25+ } ) ;
26+
27+ ws . _extensions [ PerMessageDeflate . extensionName ] = slowDeflate ;
28+ } ;
You can’t perform that action at this time.
0 commit comments