It’s a standalone binary which can be used:
- In development for playing with Action Cable channels (instead of struggling with browsers)
- For monitoring and benchmarking.
ACLI is an interactive tool by design, i.e., it is asking you for input if necessary.
Just run it without any arguments:
$ acli Enter URL: # After successful connection you receive a message: Connected to Action Cable at http://example.com/cable
Then you can run Action Cable commands:
# Subscribe to channel (without parameters) \s channel_name # Subscribe to channel with params \s+ channel_name id:1 # or interactively \s+ Enter channel ID: ... # Generate params object by providing keys and values one by one Enter key (or press ENTER to finish): ... Enter value: # After successful subscription you receive a message Subscribed to channel_name # Performing actions \p speak message:Hello! # or interactively (the same way as \s+) \p+ # Retrieving the channel's history since the specified time # Relative, for example, 10 minutes ago ("h" and "s" modifiers are also supported) \h since:10m # Absolute since the UTC time (seconds) \h since:1650634535
You can also provide URL and channel info using CLI options:
acli -u http://example.com/cable -c channel_name # or using full option names acli --url=http://example.com/cable --channel=channel_name # you can omit scheme and even path (/cable is used by default) acli -u example.com
To pass channel params use
acli -u http://example.com/cable -c ChatChannel --channel-params=id:1,name:"Jack"
You can pass additional request headers:
acli -u example.com --headers="x-api-token:secret,cookie:username=john"