plugin: Prevent HTTP timeout cascading after session stop

This commit is contained in:
Lucien Greathouse
2019-10-03 17:28:34 -07:00
parent 6f1469a551
commit b2c515f2e6
2 changed files with 13 additions and 3 deletions

View File

@@ -82,11 +82,16 @@ function ApiContext.new(baseUrl)
__baseUrl = baseUrl,
__serverId = nil,
__messageCursor = -1,
__connected = true,
}
return setmetatable(self, ApiContext)
end
function ApiContext:disconnect()
self.__connected = false
end
function ApiContext:connect()
local url = ("%s/api/rojo"):format(self.__baseUrl)
@@ -132,7 +137,7 @@ function ApiContext:retrieveMessages()
local function sendRequest()
return Http.get(url)
:catch(function(err)
if err.type == Http.Error.Kind.Timeout then
if err.type == Http.Error.Kind.Timeout and self.__connected then
return sendRequest()
end