File

mod_pubsub_get/mod_pubsub_get.lua @ 6247:49fad071e644

mod_net_proxy: Use safer util.format for generating description string (thanks tom) It appears that server_event may emit port numbers (src_port() in this case) as strings, rather than integers. This causes string.format() to throw an error. Prosody's util.format is a more forgiving formatter and won't throw an error. The server_event behaviour may be best fixed for the sake of consistency, though.
author Matthew Wild <mwild1@gmail.com>
date Fri, 09 May 2025 10:00:15 +0100
parent 6204:119c0eb65bf3
line wrap: on
line source

module:depends("http")
local pubsub_service = module:depends("pubsub").service
local json = require "util.json"

function handle_GET(event)
	local request, response = event.request, event.response
	local query = request.url.query

	if query:sub(1, 5) ~= "node=" then return 400 end

	local node = query:sub(6)
	local ok, items = pubsub_service:get_items(node, true)

	if not ok then return 404 end
	response.status_code = 200
	return json.encode(items)
end

module:provides("http", {route = {GET = handle_GET}})