Mercurial > prosody-modules
comparison mod_pubsub_get/mod_pubsub_get.lua @ 6176:119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
| author | nicoco <nicoco@nicoco.fr> |
|---|---|
| date | Wed, 12 Mar 2025 14:54:10 +0100 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 6175:131b8bfbefb4 | 6176:119c0eb65bf3 |
|---|---|
| 1 module:depends("http") | |
| 2 local pubsub_service = module:depends("pubsub").service | |
| 3 local json = require "util.json" | |
| 4 | |
| 5 function handle_GET(event) | |
| 6 local request, response = event.request, event.response | |
| 7 local query = request.url.query | |
| 8 | |
| 9 if query:sub(1, 5) ~= "node=" then return 400 end | |
| 10 | |
| 11 local node = query:sub(6) | |
| 12 local ok, items = pubsub_service:get_items(node, true) | |
| 13 | |
| 14 if not ok then return 404 end | |
| 15 response.status_code = 200 | |
| 16 return json.encode(items) | |
| 17 end | |
| 18 | |
| 19 module:provides("http", {route = {GET = handle_GET}}) |
