Mercurial > prosody-modules
view mod_json_streams/README.markdown @ 5119:048e339706ba
mod_rest: Remove manual reference expansion in schema
This hack was originally added to reduce the number of definitions of
common attributes (type, to, from etc) and payloads (e.g. delay). This
predated pointers and references, and until now was needed because
parsing picked out the correct stanza kind from the schema, which broke
internal references.
Removing this hack paves the way for allowing the schema to be
configured or customized more easily.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 20 Dec 2022 21:48:28 +0100 |
parents | 4d73a1a6ba68 |
children |
line wrap: on
line source
--- labels: - 'Stage-Beta' summary: JSON Encodings for XMPP ... Introduction ============ This plugin encodes XMPP as JSON. This is an implementation of [XEP-0295: JSON Encodings for XMPP](http://xmpp.org/extensions/xep-0295.html). Simply loading this module makes Prosody accept JSON on C2S streams (legacy XML clients are still supported). For BOSH, it requires mod\_bosh be loaded, and JSON should be directed at the `/jsonstreams` HTTP path. JSON for S2S isn't supported due to the lack of a discovery mechanism, so we have left that disabled to stay compatible with legacy XML servers. Configuration ============= Just add `"json_streams"` in your config's global `modules_enabled` list, for example: modules_enabled = { ... "json_streams"; } Strophe.js plugin ================= We also developed a [JSON streams plugin](http://prosody-modules.googlecode.com/hg/mod_json_streams/strophe.jsonstreams.js) for the popular [strophe.js](http://code.stanziq.com/strophe) library. Just include it like this after including the strophe library, and your strophe-based client will be speaking JSON: <script type="text/javascript" src="strophe.jsonstreams.js"></script> Be sure to set the HTTP path to `/jsonstreams`. No other changes are required. Compatibility ============= ------- ------- 0.8 Works trunk Works ------- ------- Quirks ====== - This plugin does not currently work with Prosody's [port multiplexing](http://prosody.im/doc/port_multiplexing) feature