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.
Usage
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 --channel-params
option:
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"