Zaiming (Stone) Shi d3efb0c0ba chore: bump app versions il y a 3 ans
..
docs bbd843c68b feat(exhook): provide meta data in `RequestMeta` il y a 3 ans
etc 8aa60cc0a5 feat: generate a minimized emqx.conf il y a 3 ans
i18n 11c2860ca2 fix(exhook): make spellcheck happy il y a 3 ans
include 522f650096 chore: apply review suggestions il y a 3 ans
priv bbd843c68b feat(exhook): provide meta data in `RequestMeta` il y a 3 ans
src d3efb0c0ba chore: bump app versions il y a 3 ans
test f9bc700498 fix(exhook): fix obsolete SSL files aren't deleted after the Exhook config update il y a 3 ans
.gitignore f9bc700498 fix(exhook): fix obsolete SSL files aren't deleted after the Exhook config update il y a 3 ans
README.md 667d66eb1e docs(README): EMQ X -> EMQX il y a 4 ans
rebar.config 2566f50c4e fix(exhook): ensuring that exhook dispatches the client events are sequential il y a 3 ans

README.md

emqx_exhook

The emqx_exhook extremely enhance the extensibility for EMQX. It allow using an others programming language to mount the hooks instead of erlang.

Feature

  • Based on gRPC, it brings a very wide range of applicability
  • Allows you to use the return value to extend emqx behavior.

Architecture

EMQX                                      Third-party Runtime
+========================+                 +========+==========+
|    ExHook              |                 |        |          |
|   +----------------+   |      gRPC       | gRPC   |  User's  |
|   |   gPRC Client  | ------------------> | Server |  Codes   |
|   +----------------+   |    (HTTP/2)     |        |          |
|                        |                 |        |          |
+========================+                 +========+==========+

Usage

gRPC service

See: priv/protos/exhook.proto

CLI

Example

Recommended gRPC Framework

See: https://github.com/grpc-ecosystem/awesome-grpc

Thanks