Software /
code /
verse
Comparison
bosh.lua @ 411:db462d4feb44
verse: trim trailing whitespace
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 18 Apr 2017 16:46:26 +0200 |
parent | 262:f47afb171e6e |
child | 490:6b2f31da9610 |
comparison
equal
deleted
inserted
replaced
410:6171ef2a4025 | 411:db462d4feb44 |
---|---|
62 local request, err = http.request(self.bosh_url, { body = tostring(payload) }, function (response, code, request) | 62 local request, err = http.request(self.bosh_url, { body = tostring(payload) }, function (response, code, request) |
63 if code ~= 0 then | 63 if code ~= 0 then |
64 self.inactive_since = nil; | 64 self.inactive_since = nil; |
65 return self:_handle_response(response, code, request); | 65 return self:_handle_response(response, code, request); |
66 end | 66 end |
67 | 67 |
68 -- Connection issues, we need to retry this request | 68 -- Connection issues, we need to retry this request |
69 local time = os.time(); | 69 local time = os.time(); |
70 if not self.inactive_since then | 70 if not self.inactive_since then |
71 self.inactive_since = time; -- So we know when it is time to give up | 71 self.inactive_since = time; -- So we know when it is time to give up |
72 elseif time - self.inactive_since > self.bosh_max_inactivity then | 72 elseif time - self.inactive_since > self.bosh_max_inactivity then |
73 return self:_disconnected(); | 73 return self:_disconnected(); |
74 else | 74 else |
75 self:debug("%d seconds left to reconnect, retrying in %d seconds...", | 75 self:debug("%d seconds left to reconnect, retrying in %d seconds...", |
76 self.bosh_max_inactivity - (time - self.inactive_since), reconnect_timeout); | 76 self.bosh_max_inactivity - (time - self.inactive_since), reconnect_timeout); |
77 end | 77 end |
78 | 78 |
79 -- Set up reconnect timer | 79 -- Set up reconnect timer |
80 timer.add_task(reconnect_timeout, function () | 80 timer.add_task(reconnect_timeout, function () |
81 self:debug("Retrying request..."); | 81 self:debug("Retrying request..."); |
82 -- Remove old request | 82 -- Remove old request |
83 for i, waiting_request in ipairs(self.bosh_waiting_requests) do | 83 for i, waiting_request in ipairs(self.bosh_waiting_requests) do |
101 self:event("disconnected"); | 101 self:event("disconnected"); |
102 end | 102 end |
103 | 103 |
104 function stream_mt:_send_session_request() | 104 function stream_mt:_send_session_request() |
105 local body = self:_make_body(); | 105 local body = self:_make_body(); |
106 | 106 |
107 -- XEP-0124 | 107 -- XEP-0124 |
108 body.attr.hold = "1"; | 108 body.attr.hold = "1"; |
109 body.attr.wait = "60"; | 109 body.attr.wait = "60"; |
110 body.attr["xml:lang"] = "en"; | 110 body.attr["xml:lang"] = "en"; |
111 body.attr.ver = "1.6"; | 111 body.attr.ver = "1.6"; |
112 | 112 |
113 -- XEP-0206 | 113 -- XEP-0206 |
114 body.attr.from = self.jid; | 114 body.attr.from = self.jid; |
115 body.attr.to = self.host; | 115 body.attr.to = self.host; |
116 body.attr.secure = 'true'; | 116 body.attr.secure = 'true'; |
117 | 117 |
118 http.request(self.bosh_url, { body = tostring(body) }, function (response, code) | 118 http.request(self.bosh_url, { body = tostring(body) }, function (response, code) |
119 if code == 0 then | 119 if code == 0 then |
120 -- Failed to connect | 120 -- Failed to connect |
121 return self:_disconnected(); | 121 return self:_disconnected(); |
122 end | 122 end |