Software /
code /
prosody-modules
Comparison
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 |
parent | 1455:13e359c48b5b |
child | 1457:720ff25d94e6 |
comparison
equal
deleted
inserted
replaced
1455:13e359c48b5b | 1456:2cd667d8edbd |
---|---|
206 if query.node then | 206 if query.node then |
207 if query["hub.topic"] ~= feed.url then | 207 if query["hub.topic"] ~= feed.url then |
208 module:log("debug", "Invalid topic: %s", tostring(query["hub.topic"])) | 208 module:log("debug", "Invalid topic: %s", tostring(query["hub.topic"])) |
209 return 404 | 209 return 404 |
210 end | 210 end |
211 if query["hub.mode"] ~= feed.subscription then | 211 if query["hub.mode"] == "denied" then |
212 module:log("info", "Subscription denied: %s", tostring(query["hub.reason"] or "No reason given")) | |
213 feed.subscription = "denied"; | |
214 return "Ok then :("; | |
215 elseif query["hub.mode"] == feed.subscription then | |
216 module:log("debug", "Confirming %s request to %s", feed.subscription, feed.url) | |
217 else | |
212 module:log("debug", "Invalid mode: %s", tostring(query["hub.mode"])) | 218 module:log("debug", "Invalid mode: %s", tostring(query["hub.mode"])) |
213 return 400 | 219 return 400 |
214 -- Would this work for unsubscribe? | |
215 -- Also, if feed.subscription is changed here, | |
216 -- it would probably invalidate the subscription | |
217 -- when/if the hub asks if it should be renewed | |
218 end | 220 end |
219 local lease_seconds = tonumber(query["hub.lease_seconds"]); | 221 local lease_seconds = tonumber(query["hub.lease_seconds"]); |
220 if lease_seconds then | 222 if lease_seconds then |
221 feed.lease_expires = time() + lease_seconds - refresh_interval * 2; | 223 feed.lease_expires = time() + lease_seconds - refresh_interval * 2; |
222 end | 224 end |