Mercurial > prosody-modules
annotate mod_pubsub_get/mod_pubsub_get.lua @ 6265:30adcea825c3
mod_conversejs: Fix hostname set as default username (thanks roughnecks)
In login mode, it seems jid is used as default value in the login field
but it was only needed in anonymous mode.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 18 Jun 2025 14:28:38 +0200 |
| parents | 119c0eb65bf3 |
| children |
| rev | line source |
|---|---|
|
6176
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
1 module:depends("http") |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
2 local pubsub_service = module:depends("pubsub").service |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
3 local json = require "util.json" |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
4 |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
5 function handle_GET(event) |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
6 local request, response = event.request, event.response |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
7 local query = request.url.query |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
8 |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
9 if query:sub(1, 5) ~= "node=" then return 400 end |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
10 |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
11 local node = query:sub(6) |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
12 local ok, items = pubsub_service:get_items(node, true) |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
13 |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
14 if not ok then return 404 end |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
15 response.status_code = 200 |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
16 return json.encode(items) |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
17 end |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
18 |
|
119c0eb65bf3
mod_pubsub: new module to fetch pubsub items via HTTP GET
nicoco <nicoco@nicoco.fr>
parents:
diff
changeset
|
19 module:provides("http", {route = {GET = handle_GET}}) |
