No Description
Travis Burtrum 32a4e8c8d3 Initial commit 11 months ago
failed_python_attempts Initial commit 11 months ago
src/main/java/com/moparisthebest/echoself Initial commit 11 months ago
.gitignore Initial commit 11 months ago
license.md Initial commit 11 months ago
pom.xml Initial commit 11 months ago
readme.md Initial commit 11 months ago

readme.md

xmpp-echo-self

This component receives forwarded messages from a client, and sends the forwarded messages right back.

This is to enable a concept someone once called ‘client-side components’

Currently you have to send a <echo xmlns="https://code.moparisthebest.com/moparisthebest/xmpp-echo-self"/> element inside <message/> or this will ignore you, that’s still up for debate as to whether it’ll end up being required.

It ignores all other messages, this means to be super useful across multiple clients, your server must do carbons/mam, but this makes the component stateless and dead-simple. I think the trade-off is worth it.

Here are some messages with and without delay you can paste into an XML console to try:

<message xmlns="jabber:client" to="+15555555555@echo.example.org" type="normal" id="9316996e-88da-4d6b-9bb6-6ff19c096a2c" from="you@you.org/you">
  <echo xmlns="https://code.moparisthebest.com/moparisthebest/xmpp-echo-self"/>
    <forwarded xmlns="urn:xmpp:forward:0">
        <message xmlns="jabber:client" from="+15555555555@echo.example.org" type="chat" id="9316996e-88da-4d6b-9bb6-6ff19c096a2b" to="you@you.org/you">
            <body>aoeu</body>
        </message>
    </forwarded>
</message>

<message xmlns="jabber:client" to="+15555555555@echo.example.org" type="normal" id="9316996e-88da-4d6b-9bb6-6ff19c096a2c" from="you@you.org/you">
  <echo xmlns="https://code.moparisthebest.com/moparisthebest/xmpp-echo-self"/>
    <forwarded xmlns="urn:xmpp:forward:0">
        <delay xmlns="urn:xmpp:delay" stamp="2017-10-31T23:08:25Z"/>
        <message xmlns="jabber:client" from="+15555555555@echo.example.org" type="chat" id="9316996e-88da-4d6b-9bb6-6ff19c096a2b" to="you@you.org/you">
            <body>aoeu</body>
        </message>
    </forwarded>
</message>

Usage

Compile it:

mvn package

Run it:

java -jar target/echo-self.jar echo.example.org componentPassword 127.0.0.1 5347