<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-modules/</link>
    <language>en-us</language>

    <title>prosody-modules: mod_rest/mod_rest.lua history</title>
    <description>mod_rest/mod_rest.lua revision history</description>
    <item>
    <title>mod_rest: Enable HTTP Basic authentication for Components</title>
    <link>http://hg.omfa.de/prosody-modules/log/ed6fa901cf94/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Enable HTTP Basic authentication for Components<br/>
<br/>
Not sure if mod_http_oauth2 still works for components]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 31 May 2025 16:59:35 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Skip unpacking error object when missing (thanks Martin)</title>
    <link>http://hg.omfa.de/prosody-modules/log/c71d8bc77c95/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Skip unpacking error object when missing (thanks Martin)<br/>
<br/>
Not every &quot;http-error&quot; event includes a .error field, so it may attempt<br/>
to unpack `nil`.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 22 Apr 2025 09:40:20 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Strip down error payloads to avoid stack overflow</title>
    <link>http://hg.omfa.de/prosody-modules/log/ac7e2992fe6e/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Strip down error payloads to avoid stack overflow<br/>
<br/>
When the util.error feature of including a traceback in the error,<br/>
util.json can't serialize it as it is often self-referential.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 16 Mar 2025 17:04:51 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Wrap mod_tokenauth errors</title>
    <link>http://hg.omfa.de/prosody-modules/log/a0d77b427d50/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Wrap mod_tokenauth errors<br/>
<br/>
In some cases of expired or invalid tokens the error from<br/>
mod_tokenauth.get_token_session() was returned bare with status 200<br/>
instead of via the error formatting handler.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 21 Sep 2024 21:10:45 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Fix to allow underscores in path of HTTP GET to iq-get mapping</title>
    <link>http://hg.omfa.de/prosody-modules/log/eef6cb08f9e7/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fix to allow underscores in path of HTTP GET to iq-get mapping<br/>
<br/>
A request like<br/>
<br/>
	GET /rest/upload_request/{to}<br/>
<br/>
would fail because the pattern would not the underscore in &quot;upload_request&quot;]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 19 Aug 2024 18:39:22 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Fix authentication</title>
    <link>http://hg.omfa.de/prosody-modules/log/667ce80937fa/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fix authentication<br/>
<br/>
The :contains check failed because case normalization was applied after]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 15 Jul 2024 16:24:20 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Normalize case after filtering out non-match</title>
    <link>http://hg.omfa.de/prosody-modules/log/2739d3db591f/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Normalize case after filtering out non-match<br/>
<br/>
Prevents an attempt to index a nil value]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 14 Jul 2024 18:01:24 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Fix to allow case sensitive HTTP authentication scheme</title>
    <link>http://hg.omfa.de/prosody-modules/log/d5e6617e47cc/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fix to allow case sensitive HTTP authentication scheme<br/>
<br/>
Per RFC 9110 section 11<br/>
&gt; It uses a case-insensitive token to identify the authentication scheme]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 14 Jul 2024 17:58:48 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Return specific errors from credential checks</title>
    <link>http://hg.omfa.de/prosody-modules/log/9bcc26406b47/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Return specific errors from credential checks<br/>
<br/>
This is a step towards returning details of what went wrong when<br/>
checking credentials, distinguishing missing, malformed, and wrong<br/>
credentials.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 06 Jul 2024 19:26:07 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Reject password that fails saslprep earlier (thanks tgy)</title>
    <link>http://hg.omfa.de/prosody-modules/log/32d1abb89dfe/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Reject password that fails saslprep earlier (thanks tgy)<br/>
<br/>
Prevents an error later if/when passing the password through saslprep a<br/>
second time in the authentication module, since the prep functions now<br/>
reject nil<br/>
<br/>
The error reporting could be improved but that would involve adding a<br/>
way to pass errors back out of the check_credentials() function.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 04 Jul 2024 16:06:32 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Limit payload size (cf stanza size limits)</title>
    <link>http://hg.omfa.de/prosody-modules/log/0cffeff2cd1d/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Limit payload size (cf stanza size limits)<br/>
<br/>
Otherwise the limit would be defined by the HTTP stack.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 25 Oct 2023 15:36:20 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Use logger of HTTP request in trunk</title>
    <link>http://hg.omfa.de/prosody-modules/log/5b316088bef5/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Use logger of HTTP request in trunk<br/>
<br/>
In Prosody trunk rev c975dafa4303 each HTTP request gained its own log<br/>
sink, to make it easy to log things related to each request and group<br/>
those messages.  Especially where async is used, spreading the request<br/>
and response apart as mod_rest does with iq stanzas, this grouped<br/>
logging should help find related messages.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Jul 2023 00:10:37 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Include full_jid property on origin</title>
    <link>http://hg.omfa.de/prosody-modules/log/d7667d9ad96a/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Include full_jid property on origin<br/>
<br/>
Fixes permission check in disco#info query to your own account, where<br/>
the 'to' would have been stripped since it equals the account JID,<br/>
leaving mod_disco passing nil, which triggers an error in module:may()]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 18 Jun 2023 22:23:24 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Get correct type from config</title>
    <link>http://hg.omfa.de/prosody-modules/log/3c51eab0afe8/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Get correct type from config<br/>
<br/>
Autocomplete?]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 08 Apr 2023 19:51:24 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Allow passing configuring a timeout for &lt;iq&gt; responses</title>
    <link>http://hg.omfa.de/prosody-modules/log/e0b5468aae49/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Allow passing configuring a timeout for &lt;iq&gt; responses<br/>
<br/>
The default 2 minutes is not how long you want to wait, sometimes.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 20:26:33 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Wrap webhook setup in a function for future reuse</title>
    <link>http://hg.omfa.de/prosody-modules/log/438fbebf74ac/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Wrap webhook setup in a function for future reuse<br/>
<br/>
The goal is to allow binding a session to a webhook via API to allow<br/>
e.g. bots to set up handling of incoming messages.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 27 Nov 2022 00:34:00 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Do not allow replies to &lt;iq type=result&gt; from webhooks</title>
    <link>http://hg.omfa.de/prosody-modules/log/dec4b2e31d1c/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Do not allow replies to &lt;iq type=result&gt; from webhooks<br/>
<br/>
Replying to a result stanza could cause loops, just as replying to an<br/>
error.<br/>
<br/>
No stanza.name check here but it should be fine since no other kinds of<br/>
stanzas have type=result, and the boolean logic would most definitely be<br/>
wrong on the first attempt.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 27 Nov 2022 00:10:38 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Update for mod_tokenauth API changes (backwards-compatible)</title>
    <link>http://hg.omfa.de/prosody-modules/log/cb19cb1c03d6/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Update for mod_tokenauth API changes (backwards-compatible)]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 13 Jul 2022 11:27:44 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Fill in 'type' field in error registry</title>
    <link>http://hg.omfa.de/prosody-modules/log/732229fe68ab/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fill in 'type' field in error registry<br/>
<br/>
The 'type' defaults to &quot;modify&quot; in util.error, which doesn't quite fit<br/>
many of these error conditions.<br/>
<br/>
LuaFormatter changed ',' to ';']]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 15 Aug 2022 15:26:14 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Provide a log function on temporary session</title>
    <link>http://hg.omfa.de/prosody-modules/log/537054999093/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Provide a log function on temporary session<br/>
<br/>
Fixes traceback in places using session.log()]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 29 May 2022 02:02:07 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Fix attempt to index nil in handling of single iq response</title>
    <link>http://hg.omfa.de/prosody-modules/log/e67cc71727ca/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fix attempt to index nil in handling of single iq response<br/>
<br/>
Fix handling of many responses, break handling of single response :(]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 17 May 2022 11:44:44 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Ensure MAM result-iq is included in results from remote hosts</title>
    <link>http://hg.omfa.de/prosody-modules/log/83a54f4af94c/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Ensure MAM result-iq is included in results from remote hosts<br/>
<br/>
Needed for the same reason as the special message handling, the remote<br/>
route does not pass our origin.send() here]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 16 May 2022 20:31:58 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Add special handling to catch MAM results from remote hosts</title>
    <link>http://hg.omfa.de/prosody-modules/log/e7b9bc629ecc/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add special handling to catch MAM results from remote hosts<br/>
<br/>
Makes MAM queries to remote hosts works.<br/>
<br/>
As the comment says, MAM results from users' local archives or local<br/>
MUCs are returned via origin.send() which is provided in the event and<br/>
thus already worked. Results from remote hosts go via normal stanza<br/>
routing and events, which need this extra handling to catch.<br/>
<br/>
This pattern of iq-set, message+, iq-result is generally limited to MAM.<br/>
<br/>
Closest similar thing might be MUC join, but to really handle that you<br/>
would need the webhook callback mechanism.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 16 May 2022 19:47:09 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Add configuration of which stanzas to route to callback</title>
    <link>http://hg.omfa.de/prosody-modules/log/c83b009b5bc5/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add configuration of which stanzas to route to callback<br/>
<br/>
Makes it simpler to build APIs that only handle a certain kind of<br/>
stanzas, letting them be handled by the unhandled stanza handler instead<br/>
of having to write code to ignore certain kinds of stanzas.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 09 Apr 2022 01:04:25 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Improve logging of results from callback startup probe</title>
    <link>http://hg.omfa.de/prosody-modules/log/816b23e09c20/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Improve logging of results from callback startup probe<br/>
<br/>
Especially interested in logging 500 status codes and their errors, to<br/>
diagnose problems with the callback API.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 09 Apr 2022 00:43:18 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Support parameters in callback URL</title>
    <link>http://hg.omfa.de/prosody-modules/log/bdac7c717c91/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Support parameters in callback URL<br/>
<br/>
E.g.<br/>
<br/>
	rest_callback_url = &quot;http://myapi.example:5000/api/{kind}/{type}&quot;<br/>
<br/>
which results in e.g. requests to /api/message/chat<br/>
<br/>
Allows using path routing in web frameworks for dispatch instead of<br/>
having to pick apart the payload to further dispatch it.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 09 Apr 2022 00:41:18 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Improve error handling during format mapping</title>
    <link>http://hg.omfa.de/prosody-modules/log/347e34c3c7e2/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Improve error handling during format mapping<br/>
<br/>
Prevents e.g. a nil, error return going directly into e.g. json<br/>
encoding, resulting in &quot;null&quot; being returned.<br/>
<br/>
Further handling improvements down the line is needed.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 07 Apr 2022 17:49:08 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Catch and coerce errors in echo endpoint</title>
    <link>http://hg.omfa.de/prosody-modules/log/9d0ec61c70a1/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Catch and coerce errors in echo endpoint<br/>
<br/>
This should ensure problems in encode() are reported back]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 07 Apr 2022 17:48:08 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Ensure mod_http is loaded before API demo</title>
    <link>http://hg.omfa.de/prosody-modules/log/dc7c9ae15f43/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Ensure mod_http is loaded before API demo<br/>
<br/>
Fixes an error as it tried to use module:http_url() which doesn't exist<br/>
before mod_http is loaded]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 08 Feb 2022 13:51:41 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Fix nested message stanzas in XEP-0297 containers</title>
    <link>http://hg.omfa.de/prosody-modules/log/f69c5a443156/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fix nested message stanzas in XEP-0297 containers<br/>
<br/>
It's all a bit awkward because it doesn't normally use the whole schema<br/>
directly, but rather checks which stanza type is used and picks out that<br/>
property as a schema. Which also prevents references from working.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 29 Dec 2021 19:40:28 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Let 'type' be implied in path based queries</title>
    <link>http://hg.omfa.de/prosody-modules/log/d29a295cd165/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Let 'type' be implied in path based queries<br/>
<br/>
This will make e.g. MAM queries work via GET /archive/{to}]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 04 Nov 2021 20:15:44 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Remove unused variable [luacheck]</title>
    <link>http://hg.omfa.de/prosody-modules/log/2bc5a0c0d8c3/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Remove unused variable [luacheck]<br/>
<br/>
Copied from core.stanza_router where it was probably used later in some<br/>
code not included in the copy.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 03 Nov 2021 20:15:14 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Fire pre-events</title>
    <link>http://hg.omfa.de/prosody-modules/log/58a20d5ac6e9/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fire pre-events<br/>
<br/>
Let event handlers on pre-events have effect.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 01 Nov 2021 15:51:59 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Add an anonymous mode</title>
    <link>http://hg.omfa.de/prosody-modules/log/e58ec4b3cf90/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add an anonymous mode<br/>
<br/>
Could be useful for a demo instance.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 01 Nov 2021 15:08:21 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Set type on temp session to satisfy certain auth checks</title>
    <link>http://hg.omfa.de/prosody-modules/log/e6f46d1b3337/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Set type on temp session to satisfy certain auth checks<br/>
<br/>
E.g. mod_external_services and some others use `origin.type == &quot;c2s&quot;` as<br/>
access check, which rejected the previous nil value.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 26 Oct 2021 18:07:35 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Support returning multiple replies in an &lt;xmpp&gt; container</title>
    <link>http://hg.omfa.de/prosody-modules/log/a8af632daf48/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Support returning multiple replies in an &lt;xmpp&gt; container<br/>
<br/>
Allows retrieving MAM results and possibly other things.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 29 Sep 2021 00:26:44 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Fix name of entry in error registry for unauth 'from'</title>
    <link>http://hg.omfa.de/prosody-modules/log/183c2abdc3c4/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fix name of entry in error registry for unauth 'from'<br/>
<br/>
Wow was this a pain to track down or what?<br/>
<br/>
Symptoms: An error with condition: undefined-condition. No further details.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 23 Mar 2021 23:41:10 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Remove inaccurate comment</title>
    <link>http://hg.omfa.de/prosody-modules/log/23b681214be3/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Remove inaccurate comment<br/>
<br/>
It also checks Basic auth here. Removing since it doesn't seem to add<br/>
much.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 23 Mar 2021 20:23:35 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Add an 'echo' endpoint for debugging</title>
    <link>http://hg.omfa.de/prosody-modules/log/81d0748bff5b/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add an 'echo' endpoint for debugging<br/>
<br/>
It returns the XML stanza built from e.g. the JSON format.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 21 Mar 2021 00:31:53 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Fix typos [codespell]</title>
    <link>http://hg.omfa.de/prosody-modules/log/508cb880b163/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fix typos [codespell]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 09 Mar 2021 18:44:35 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Allow passing e.g. disco 'node' as a ?query variable</title>
    <link>http://hg.omfa.de/prosody-modules/log/80912726405d/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Allow passing e.g. disco 'node' as a ?query variable<br/>
<br/>
This enables e.g.<br/>
GET /disco/pubsub.example.org?node=princely_musings<br/>
<br/>
Note the hack to skip this for ping.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 07 Mar 2021 22:01:50 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Allow empty @to to mean to=account is in normal XMPP</title>
    <link>http://hg.omfa.de/prosody-modules/log/48afaec5d1de/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Allow empty @to to mean to=account is in normal XMPP<br/>
<br/>
Noticed an XXX in snikket-web-portal wrt needing to explicitly set @to<br/>
in order to talk to 'self' services in Prosody, where to=nil is the same<br/>
as to=account]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 07 Mar 2021 21:02:18 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Add option for serving interactive openapi documentation</title>
    <link>http://hg.omfa.de/prosody-modules/log/eea62d30ae08/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add option for serving interactive openapi documentation<br/>
<br/>
Swagger not included.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 02 Mar 2021 18:38:13 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Fix syntax error in previous commit</title>
    <link>http://hg.omfa.de/prosody-modules/log/e453eaf1589e/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Fix syntax error in previous commit]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 01 Mar 2021 17:33:32 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Revert leftover of unfinished ?query mapping</title>
    <link>http://hg.omfa.de/prosody-modules/log/dad0367d33e8/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Revert leftover of unfinished ?query mapping<br/>
<br/>
Idea was to allow second level data fields to be passed as query<br/>
parameters, i.e. /rest/command/{to}/?command=execute&amp;node=foobar but<br/>
that's still a work in progress, so reverted here for now.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 28 Feb 2021 20:59:53 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Support GET for certain IQ queries</title>
    <link>http://hg.omfa.de/prosody-modules/log/7ab0c423688a/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Support GET for certain IQ queries<br/>
<br/>
Example:<br/>
  GET /rest/version/example.com<br/>
<br/>
  200 OK<br/>
  { version: { name: &quot;thing&quot;, version: &quot;1.0.0&quot; } }]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 28 Feb 2021 19:33:09 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Add more REST-looking way to send stanzas</title>
    <link>http://hg.omfa.de/prosody-modules/log/8df6cc648963/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add more REST-looking way to send stanzas<br/>
<br/>
Example:<br/>
  POST /rest/message/chat/juliet@example.net<br/>
  { body: &quot;Hello&quot; }<br/>
<br/>
Becomes equivalent to<br/>
	POST /rest<br/>
  { kind: &quot;message&quot;, type: &quot;chat&quot;, to: &quot;juliet@example.net&quot;, body: &quot;Hello&quot; }<br/>
<br/>
Sending messages as plain/text also becomes more convenient.<br/>
<br/>
IQ stazas are still weird, but we'll do something special for those.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 28 Feb 2021 19:25:45 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Ensure no attempt is made to reply to an error stanza</title>
    <link>http://hg.omfa.de/prosody-modules/log/8b489203e4d3/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Ensure no attempt is made to reply to an error stanza<br/>
<br/>
Previously it was possible to return an error reply from a callback.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 15 Nov 2020 16:29:48 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Catch and log errors in callback promise chain</title>
    <link>http://hg.omfa.de/prosody-modules/log/64aa1d9d70ac/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Catch and log errors in callback promise chain<br/>
<br/>
From the code it looks like it should be possible to reply to an error<br/>
stanza, but it did not. Turns out I was saved by my local developer mode<br/>
module which throws errors if an attempt is made to create an errror<br/>
reply to an error stanza. However nothing collects this error from the<br/>
promise, so all I got was confusion.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 15 Nov 2020 16:25:49 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Use promise based HTTP client API</title>
    <link>http://hg.omfa.de/prosody-modules/log/1f93fa24611d/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Use promise based HTTP client API<br/>
<br/>
Doesn't really simplify anything much.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 15 Nov 2020 15:33:56 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Use HTTP error mapping from net.http.errors</title>
    <link>http://hg.omfa.de/prosody-modules/log/7bf3bf81c9ef/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Use HTTP error mapping from net.http.errors<br/>
<br/>
This was basically a subset]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 15 Nov 2020 15:17:50 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Use util.error registry datatype</title>
    <link>http://hg.omfa.de/prosody-modules/log/07c11080027e/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Use util.error registry datatype<br/>
<br/>
Saves a few characters per line.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 14 Nov 2020 22:38:28 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Add whitespace to improve readability, code navigation</title>
    <link>http://hg.omfa.de/prosody-modules/log/6a91d217acc9/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add whitespace to improve readability, code navigation<br/>
<br/>
I use {} in vim a lot.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 12 Nov 2020 20:37:54 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Add support for form-encoded output</title>
    <link>http://hg.omfa.de/prosody-modules/log/07ae583bc565/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add support for form-encoded output<br/>
<br/>
This roughtly matches the input capabilities when given an form-encoded<br/>
payload.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 20 Jul 2020 21:42:11 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Add support for CBOR</title>
    <link>http://hg.omfa.de/prosody-modules/log/991090cb5d18/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add support for CBOR<br/>
<br/>
https://www.zash.se/lua-cbor.html]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 29 May 2020 12:38:23 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Respond to unknown payload types with HTTP status 415</title>
    <link>http://hg.omfa.de/prosody-modules/log/04c11b652aeb/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Respond to unknown payload types with HTTP status 415<br/>
<br/>
More semantically correct.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 29 May 2020 12:30:15 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Improve auth error reporting</title>
    <link>http://hg.omfa.de/prosody-modules/log/ae5ac41c391d/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Improve auth error reporting]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 12 Apr 2020 18:07:16 +0200</pubDate>
</item>
<item>
    <title>mod_rest: Avoid interfering with mod_http_oauth2 errors (fixes #1500)</title>
    <link>http://hg.omfa.de/prosody-modules/log/93147b89ea67/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Avoid interfering with mod_http_oauth2 errors (fixes #1500)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 08 Mar 2020 12:52:18 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Add an XML error formatter (fixes #1499)</title>
    <link>http://hg.omfa.de/prosody-modules/log/2e8b284ac8b3/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Add an XML error formatter (fixes #1499)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 07 Mar 2020 17:35:09 +0100</pubDate>
</item>
<item>
    <title>mod_rest: Break out POST errors into a registry</title>
    <link>http://hg.omfa.de/prosody-modules/log/d5dafd617cd6/mod_rest/mod_rest.lua</link>
    <description><![CDATA[mod_rest: Break out POST errors into a registry]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 07 Mar 2020 17:34:17 +0100</pubDate>
</item>

  </channel>
</rss>
