Software /
code /
prosody
Diff
plugins/mod_bosh.lua @ 4442:bc0a68cae236
mod_bosh: Experimental option 'bosh_auto_cork' which witholds any response to a request until all stanzas in it have been processed.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 07 Dec 2011 05:54:17 +0000 |
parent | 4438:7f51186ed28b |
child | 4447:57d7362a9312 |
line wrap: on
line diff
--- a/plugins/mod_bosh.lua Wed Dec 07 05:17:39 2011 +0000 +++ b/plugins/mod_bosh.lua Wed Dec 07 05:54:17 2011 +0000 @@ -35,6 +35,7 @@ local BOSH_DEFAULT_REQUESTS = module:get_option_number("bosh_max_requests", 2); local consider_bosh_secure = module:get_option_boolean("consider_bosh_secure"); +local auto_cork = module:get_option_boolean("bosh_auto_cork", false); local default_headers = { ["Content-Type"] = "text/xml; charset=utf-8" }; @@ -268,7 +269,7 @@ end --log("debug", "Sending BOSH data: %s", tostring(s)); local oldest_request = r[1]; - if oldest_request then + if oldest_request and (not(auto_cork) or waiting_requests[oldest_request]) then log("debug", "We have an open request, so sending on that"); response.body = t_concat({ "<body xmlns='http://jabber.org/protocol/httpbind' ",