view mod_post_msg/README.markdown @ 4575:5b4f43b90766

mod_measure_malloc: port to most recent trunk statistics API
author Jonas Schäfer <>
date Tue, 25 May 2021 19:01:54 +0200
parents 5e8b54deeb30
line wrap: on
line source

summary: 'Receives HTTP POST request, parses it and relays it into XMPP.'


Sometimes it's useful to have different interfaces to access XMPP.

This module allows sending XMPP
[`<message>`]( stanzas via a
simple HTTP API.

Example usage

    curl -u -H "Content-Type: text/plain" -d "Server@host has just crashed!"

This would send a message to user\ from me\


URL format

    /msg/ [recipient [@host] ].

The base URL defaults to `/msg`. This can be configured via Prosodys
[HTTP path settings][doc:http].


Authentication is done by HTTP Basic.

    Authentication: Basic BASE64( "username@virtualhost:password" )

Payload formats

Supported formats are:

:   The HTTP body is used as plain text message payload, in the `<body>`

:   Allows more fields to be specified.

:   Similar to form data.

Which one is selected via the `Content-Type` HTTP header.

### Data fields

The form data and JSON formats allow the following fields:

:   Can be used instead of having the receiver in the URL.

:   [Message type.](

:   Plain text message payload which goes in the `<body>` element.


Some code originally borrowed from mod\_webpresence

See also

[mod_rest] is a more advanced way to send messages and more via HTTP,
with a very similar API.