mod_post_msg/README.markdown
author Matthew Wild <mwild1@gmail.com>
Sat, 24 Sep 2022 09:25:46 +0100
changeset 5062 39c2824c2880
parent 4245 5e8b54deeb30
permissions -rw-r--r--
mod_cloud_notify: README overhaul
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
---
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
summary: 'Receives HTTP POST request, parses it and relays it into XMPP.'
2987
fa3665b7602f mod_post_msg/README: Normalize markdown syntax
Kim Alvefur <zash@zash.se>
parents: 2986
diff changeset
     3
---
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
Introduction
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
============
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
Sometimes it's useful to have different interfaces to access XMPP.
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
2989
7467509abdbb mod_post_msg/README: Update Introduction text
Kim Alvefur <zash@zash.se>
parents: 2988
diff changeset
    10
This module allows sending XMPP
7467509abdbb mod_post_msg/README: Update Introduction text
Kim Alvefur <zash@zash.se>
parents: 2988
diff changeset
    11
[`<message>`](https://xmpp.org/rfcs/rfc6121.html#message) stanzas via a
7467509abdbb mod_post_msg/README: Update Introduction text
Kim Alvefur <zash@zash.se>
parents: 2988
diff changeset
    12
simple HTTP API.
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
Example usage
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
-------------
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
    curl http://example.com:5280/msg/user -u me@example.com:mypassword -H "Content-Type: text/plain" -d "Server@host has just crashed!"
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
2987
fa3665b7602f mod_post_msg/README: Normalize markdown syntax
Kim Alvefur <zash@zash.se>
parents: 2986
diff changeset
    19
This would send a message to user\@example.com from me\@example.com
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
2988
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    21
Details
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    22
=======
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    23
2991
2af0be50b287 mod_post_msg/README: Describe the URL format
Kim Alvefur <zash@zash.se>
parents: 2990
diff changeset
    24
URL format
2af0be50b287 mod_post_msg/README: Describe the URL format
Kim Alvefur <zash@zash.se>
parents: 2990
diff changeset
    25
----------
2af0be50b287 mod_post_msg/README: Describe the URL format
Kim Alvefur <zash@zash.se>
parents: 2990
diff changeset
    26
2af0be50b287 mod_post_msg/README: Describe the URL format
Kim Alvefur <zash@zash.se>
parents: 2990
diff changeset
    27
    /msg/ [recipient [@host] ].
2af0be50b287 mod_post_msg/README: Describe the URL format
Kim Alvefur <zash@zash.se>
parents: 2990
diff changeset
    28
2af0be50b287 mod_post_msg/README: Describe the URL format
Kim Alvefur <zash@zash.se>
parents: 2990
diff changeset
    29
The base URL defaults to `/msg`. This can be configured via Prosodys
2af0be50b287 mod_post_msg/README: Describe the URL format
Kim Alvefur <zash@zash.se>
parents: 2990
diff changeset
    30
[HTTP path settings][doc:http].
2af0be50b287 mod_post_msg/README: Describe the URL format
Kim Alvefur <zash@zash.se>
parents: 2990
diff changeset
    31
2992
3cc78e6a8758 mod_post_msg/README: Document how authentication is performed
Kim Alvefur <zash@zash.se>
parents: 2991
diff changeset
    32
Authentication
3cc78e6a8758 mod_post_msg/README: Document how authentication is performed
Kim Alvefur <zash@zash.se>
parents: 2991
diff changeset
    33
--------------
3cc78e6a8758 mod_post_msg/README: Document how authentication is performed
Kim Alvefur <zash@zash.se>
parents: 2991
diff changeset
    34
3cc78e6a8758 mod_post_msg/README: Document how authentication is performed
Kim Alvefur <zash@zash.se>
parents: 2991
diff changeset
    35
Authentication is done by HTTP Basic.
3cc78e6a8758 mod_post_msg/README: Document how authentication is performed
Kim Alvefur <zash@zash.se>
parents: 2991
diff changeset
    36
3cc78e6a8758 mod_post_msg/README: Document how authentication is performed
Kim Alvefur <zash@zash.se>
parents: 2991
diff changeset
    37
    Authentication: Basic BASE64( "username@virtualhost:password" )
3cc78e6a8758 mod_post_msg/README: Document how authentication is performed
Kim Alvefur <zash@zash.se>
parents: 2991
diff changeset
    38
2988
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    39
Payload formats
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    40
---------------
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    41
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    42
Supported formats are:
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    43
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    44
`text/plain`
2990
e85cf5a443e2 mod_post_msg/README: Clarify 'body' fields
Kim Alvefur <zash@zash.se>
parents: 2989
diff changeset
    45
:   The HTTP body is used as plain text message payload, in the `<body>`
e85cf5a443e2 mod_post_msg/README: Clarify 'body' fields
Kim Alvefur <zash@zash.se>
parents: 2989
diff changeset
    46
    element.
2988
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    47
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    48
`application/x-www-form-urlencoded`
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    49
:   Allows more fields to be specified.
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    50
2993
926aaaeb0d21 mod_post_msg: Add support for a JSON based format similar to what mod_component_http uses
Kim Alvefur <zash@zash.se>
parents: 2992
diff changeset
    51
`application/json`
926aaaeb0d21 mod_post_msg: Add support for a JSON based format similar to what mod_component_http uses
Kim Alvefur <zash@zash.se>
parents: 2992
diff changeset
    52
:   Similar to form data.
926aaaeb0d21 mod_post_msg: Add support for a JSON based format similar to what mod_component_http uses
Kim Alvefur <zash@zash.se>
parents: 2992
diff changeset
    53
926aaaeb0d21 mod_post_msg: Add support for a JSON based format similar to what mod_component_http uses
Kim Alvefur <zash@zash.se>
parents: 2992
diff changeset
    54
Which one is selected via the `Content-Type` HTTP header.
926aaaeb0d21 mod_post_msg: Add support for a JSON based format similar to what mod_component_http uses
Kim Alvefur <zash@zash.se>
parents: 2992
diff changeset
    55
2988
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    56
### Data fields
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    57
2993
926aaaeb0d21 mod_post_msg: Add support for a JSON based format similar to what mod_component_http uses
Kim Alvefur <zash@zash.se>
parents: 2992
diff changeset
    58
The form data and JSON formats allow the following fields:
2988
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    59
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    60
`to`
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    61
:   Can be used instead of having the receiver in the URL.
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    62
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    63
`type`
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    64
:   [Message type.](https://xmpp.org/rfcs/rfc6121.html#message-syntax-type)
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    65
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    66
`body`
2990
e85cf5a443e2 mod_post_msg/README: Clarify 'body' fields
Kim Alvefur <zash@zash.se>
parents: 2989
diff changeset
    67
:   Plain text message payload which goes in the `<body>` element.
2988
1e7d221bba8d mod_post_msg/README: Document the payload formats
Kim Alvefur <zash@zash.se>
parents: 2987
diff changeset
    68
2986
ae7ca7bc9c9b mod_post_msg/README: Reword about borrowing
Kim Alvefur <zash@zash.se>
parents: 2985
diff changeset
    69
Acknowledgements
4244
455ae6156f5c mod_post_msg: Tweak header level
Kim Alvefur <zash@zash.se>
parents: 2993
diff changeset
    70
================
1807
4d73a1a6ba68 Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    71
2986
ae7ca7bc9c9b mod_post_msg/README: Reword about borrowing
Kim Alvefur <zash@zash.se>
parents: 2985
diff changeset
    72
Some code originally borrowed from mod\_webpresence
4245
5e8b54deeb30 mod_post_msg: Advertise mod_rest, the spiritual successor
Kim Alvefur <zash@zash.se>
parents: 4244
diff changeset
    73
5e8b54deeb30 mod_post_msg: Advertise mod_rest, the spiritual successor
Kim Alvefur <zash@zash.se>
parents: 4244
diff changeset
    74
See also
5e8b54deeb30 mod_post_msg: Advertise mod_rest, the spiritual successor
Kim Alvefur <zash@zash.se>
parents: 4244
diff changeset
    75
========
5e8b54deeb30 mod_post_msg: Advertise mod_rest, the spiritual successor
Kim Alvefur <zash@zash.se>
parents: 4244
diff changeset
    76
5e8b54deeb30 mod_post_msg: Advertise mod_rest, the spiritual successor
Kim Alvefur <zash@zash.se>
parents: 4244
diff changeset
    77
[mod_rest] is a more advanced way to send messages and more via HTTP,
5e8b54deeb30 mod_post_msg: Advertise mod_rest, the spiritual successor
Kim Alvefur <zash@zash.se>
parents: 4244
diff changeset
    78
with a very similar API.
5e8b54deeb30 mod_post_msg: Advertise mod_rest, the spiritual successor
Kim Alvefur <zash@zash.se>
parents: 4244
diff changeset
    79