Mercurial > prosody-modules
diff mod_pubsub_feeds/mod_pubsub_feeds.lua @ 1456:2cd667d8edbd
mod_pubsub_feeds: Handle denied subscription requests
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 26 Jun 2014 18:33:13 +0200 |
parents | 13e359c48b5b |
children | 720ff25d94e6 |
line wrap: on
line diff
--- a/mod_pubsub_feeds/mod_pubsub_feeds.lua Thu Jun 26 18:32:43 2014 +0200 +++ b/mod_pubsub_feeds/mod_pubsub_feeds.lua Thu Jun 26 18:33:13 2014 +0200 @@ -208,13 +208,15 @@ module:log("debug", "Invalid topic: %s", tostring(query["hub.topic"])) return 404 end - if query["hub.mode"] ~= feed.subscription then + if query["hub.mode"] == "denied" then + module:log("info", "Subscription denied: %s", tostring(query["hub.reason"] or "No reason given")) + feed.subscription = "denied"; + return "Ok then :("; + elseif query["hub.mode"] == feed.subscription then + module:log("debug", "Confirming %s request to %s", feed.subscription, feed.url) + else module:log("debug", "Invalid mode: %s", tostring(query["hub.mode"])) return 400 - -- Would this work for unsubscribe? - -- Also, if feed.subscription is changed here, - -- it would probably invalidate the subscription - -- when/if the hub asks if it should be renewed end local lease_seconds = tonumber(query["hub.lease_seconds"]); if lease_seconds then