annotate mod_service_outage_status/mod_service_outage_status.lua @ 5589:7040d0772758

mod_http_oauth2: Implement RFC 8628 Device Authorization Grant Meant for devices without easy access to a web browser, such as refrigerators and toasters, which definitely need to be running OAuth-enabled XMPP clients! Could be used for CLI tools that might have trouble running a http server needed for the authorization code flow.
author Kim Alvefur <zash@zash.se>
date Mon, 10 Jul 2023 07:16:54 +0200
parents 03044a6f5f4c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5338
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local dataforms = require "util.dataforms";
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local form_layout = dataforms.new({
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 { type = "hidden"; var = "FORM_TYPE"; value = "urn:xmpp:sos:0" };
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 { type = "list-multi"; name = "addrs"; var = "external-status-addresses" };
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 });
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 local addresses = module:get_option_array("outage_status_urls");
03044a6f5f4c mod_service_outage_status: XEP-0455: Service Outage Status
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 module:add_extension(form_layout:form({ addrs = addresses }, "result"));