For default tsl version and ciphers, we try to use otp release number to determin if we want to use tlsv1.3 For default configs, we try to porivde both tlsv1.3 and ciphers in config (even for commented out configs) |
||
|---|---|---|
| .. | ||
| etc | ||
| include | ||
| priv | ||
| src | ||
| test | ||
| .gitignore | ||
| README.md | ||
| rebar.config | ||
| TODO | ||
emqx-web-hook
EMQ X WebHook plugin.
Please see: EMQ X - WebHook
emqx_web_hook.conf
## The web services URL for Hook request
##
## Value: String
web.hook.api.url = http://127.0.0.1:8080
## Encode message payload field
##
## Value: base64 | base62
## web.hook.encode_payload = base64
##--------------------------------------------------------------------
## Hook Rules
## These configuration items represent a list of events should be forwarded
##
## Format:
## web.hook.rule.<HookName>.<No> = <Spec>
web.hook.rule.client.connect.1 = {"action": "on_client_connect"}
web.hook.rule.client.connack.1 = {"action": "on_client_connack"}
web.hook.rule.client.connected.1 = {"action": "on_client_connected"}
web.hook.rule.client.disconnected.1 = {"action": "on_client_disconnected"}
web.hook.rule.client.subscribe.1 = {"action": "on_client_subscribe"}
web.hook.rule.client.unsubscribe.1 = {"action": "on_client_unsubscribe"}
web.hook.rule.session.subscribed.1 = {"action": "on_session_subscribed"}
web.hook.rule.session.unsubscribed.1 = {"action": "on_session_unsubscribed"}
web.hook.rule.session.terminated.1 = {"action": "on_session_terminated"}
web.hook.rule.message.publish.1 = {"action": "on_message_publish"}
web.hook.rule.message.delivered.1 = {"action": "on_message_delivered"}
web.hook.rule.message.acked.1 = {"action": "on_message_acked"}
API
The HTTP request parameter format:
- client.connected
{
"action":"client_connected",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"keepalive": 60,
"ipaddress": "127.0.0.1",
"proto_ver": 4,
"connected_at": 1556176748,
"conn_ack":0
}
- client.disconnected
{
"action":"client_disconnected",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"reason":"normal"
}
- client.subscribe
{
"action":"client_subscribe",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"topic":"world",
"opts":{
"qos":0
}
}
- client.unsubscribe
{
"action":"client_unsubscribe",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"topic":"world"
}
- session.created
{
"action":"session_created",
"clientid":"C_1492410235117",
"username":"C_1492410235117"
}
- session.subscribed
{
"action":"session_subscribed",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"topic":"world",
"opts":{
"qos":0
}
}
- session.unsubscribed
{
"action":"session_unsubscribed",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"topic":"world"
}
- session.terminated
{
"action":"session_terminated",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"reason":"normal"
}
- message.publish
{
"action":"message_publish",
"from_client_id":"C_1492410235117",
"from_username":"C_1492410235117",
"topic":"world",
"qos":0,
"retain":true,
"payload":"Hello world!",
"ts":1492412774
}
- message.delivered
{
"action":"message_delivered",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"from_client_id":"C_1492410235117",
"from_username":"C_1492410235117",
"topic":"world",
"qos":0,
"retain":true,
"payload":"Hello world!",
"ts":1492412826
}
- message.acked
{
"action":"message_acked",
"clientid":"C_1492410235117",
"username":"C_1492410235117",
"from_client_id":"C_1492410235117",
"from_username":"C_1492410235117",
"topic":"world",
"qos":1,
"retain":true,
"payload":"Hello world!",
"ts":1492412914
}
License
Apache License Version 2.0