
Show HN: Godsend, separation of concerns for streaming micro-services - simplygreatwork
https://github.com/simplygreatwork/godsend
======
pschanely
The README.md goes fast, but I have some feel for what's going on. Could I,
for instance, connect a client and start logging every message in the system
using a liberal matcher and a low weight? Also, it's not obvious to me how the
versions work. Can I use a transformer to "upgrade" an older message version
to a newer one?

~~~
simplygreatwork
Thanks for your questions.

Yes, you could log every message by calling request.accept() with no criteria
and applying a weight of -100, for example.

By default, only one instance of a processor (transformer) id is permitted -
unless you mount additional versions. In "godsend-examples", there's an
example named "versioning-processors". Selection of processor versions is
determined in the profile of the user sending the request. In that example, in
"users.json", the user "sender" is configured with any processor versions
which ought to be substituted for that user. If there are multiple versions of
a processor and none of those is indicated by the user sending the message,
the processor version marked as the default, when it was mounted, will be run.

