# HG changeset patch # User JC Brand # Date 1475075721 0 # Node ID 234d679076c485591bf38f6e1ec37c1df2e0bab2 # Parent 73967121cf5ea7b85de95f2a7be33dd283127b55 Proper markdown syntax diff -r 73967121cf5e -r 234d679076c4 mod_http_roster_admin/README.markdown --- a/mod_http_roster_admin/README.markdown Wed Sep 28 15:11:15 2016 +0000 +++ b/mod_http_roster_admin/README.markdown Wed Sep 28 15:15:21 2016 +0000 @@ -4,7 +4,7 @@ summary: Delegate roster management to an external service ... -NOTE: THIS MODULE IS RELEASED UNDER THE MOZILLA PUBLIC LICENSE VERSION 2. +*NOTE: THIS MODULE IS RELEASED UNDER THE MOZILLA PUBLIC LICENSE VERSION 2.* Normally the XMPP server will store and maintain the users' contact rosters. This module lets you delegate roster management to an external @@ -14,8 +14,7 @@ service. The service will need to notify Prosody whenever a user's roster changes, so that Prosody can fetch a new roster for that user. -Configuring this module ------------------------ +## Configuring this module This module relies on `mod_storage_memory` and `mod_block_subscriptions`. @@ -45,14 +44,13 @@ set to “http://app.example.org/contacts/%s”, then Prosody will make a GET request to http://app.example.org/contacts/john -Notifying Prosody of roster changes -*********************************** +## Notifying Prosody of roster changes The external service needs to notify Prosody whenever a user's roster changes. To do this, it must make an HTTP POST request to either: -* http://localhost:5280/roster_admin/refresh -* https://localhost:5281/roster_admin/refresh +- http://localhost:5280/roster_admin/refresh +- https://localhost:5281/roster_admin/refresh Make sure that the "http_files" module is enabled in Prosody's configuration, for the above URLs to served. @@ -67,28 +65,24 @@ For example, if user ‘john’ became friends with ‘aaron’, both john’s contact list and aaron’s contact lists have changed: -``` ["john", "aaron"] -``` When the operation is complete Prosody will reply with a summary of the operation - a JSON object containing: -* **status**: either “ok” (success) or “error” (operation completely failed) -* **message**: A human-readable message (for logging and debugging purposes) -* **updated**: The number of rosters successfully updated -* **errors**: The number of rosters that failed to update +- **status**: either “ok” (success) or “error” (operation completely failed) +- **message**: A human-readable message (for logging and debugging purposes) +- **updated**: The number of rosters successfully updated +- **errors**: The number of rosters that failed to update Example: -``` { "status": "ok", "message": "roster update complete", "updated": 2, "errors": 0 } -``` Prosody may also return status codes `400` or `500` in case of errors (such as a missing/malformed body).