Actionhero Socket Server
As of Actionhero v21, the socket server is not included with Actionhero by default. You can add it (this package) via npm install actionhero-socket-server
.
❯ telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
{"welcome":"actionhero.welcomeMessage","context":"api"}
randomNumber
{"randomNumber":0.11296216329530862,"stringRandomNumber":"Your random number is 0.11296216329530862","context":"response","messageId":"8778822d-0953-4d0c-9c04-98cd53b53b7d"}
exit
{"status":"actionhero.goodbyeMessage","context":"api"}
Connection closed by foreign host.
Installation
- Add the package to your actionhero project:
npm install actionhero-socket-server --save
- Copy the config file into your project
cp ./node_modules/actionhero-socket-server/src/config/servers/socket.js src/config/servers/socket.js
- Enable the plugin:
export const DEFAULT = {
plugins: config => {
return {
"actionhero-socket-server": {
path: __dirname + "/../node_modules/actionhero-socket-server"
}
};
}
};
- Add a searilazer for errors:
socket: error => {
if (error.message) {
return String(error.message);
} else {
return error;
}
},
Options
All options are exposed via the config file:
export const DEFAULT = {
servers: {
socket: config => {
return {
enabled: true,
secure: false,
serverOptions: {},
port: 5000,
bindIP: "0.0.0.0",
setKeepAlive: false,
delimiter: "\n",
maxDataLength: 0
};
}
}
};