A Grunt plugin for testing under a throttled connection.
Add the following configuration to your Gruntfile to throttle all TCP connections to localhost:8000
to an aggregate bandwidth of 10KB/s upstream and 100KB/s downstream:
throttle: {
default: {
remote_port: 8000,
local_port: 8001,
upstream: 10*1024,
downstream: 100*1024,
keepalive: true
}
}
Now you can simulate a slow connection to localhost:8000
by running grunt throttle
and visiting localhost:8001
.
You can add multiple stanzas like default
above to throttle multiple destinations. Note, however, that throttling is per-destination.
The following options are available for each configuration stanza.
Type: String
Default: '127.0.0.1'
The remote host to which connections are to be throttled.
Type: Integer
The remote TCP port to which connections are to be throttled.
Type: String
Default: '127.0.0.1'
The local address to bind to. Set to '0.0.0.0'
to allow incoming connections from anywhere.
Type: Integer
The local TCP port to bind to.
Type: Integer
Default: 10240
The upstream data rate, in bytes per second.
Type: Integer
Default: 10240
The downstream data rate, in bytes per second.
Type: Boolean
Default: false
Whether this task should prevent Grunt from exiting.
Feel free to open an issue or send a pull request.
BSD-style. See the LICENSE file.
Copyright © 2013 Tiago Quelhas. Contact me at <tiagoq@gmail.com>
.