From 64876bd29018cd2d7aea0702df68cd1b500349c8 Mon Sep 17 00:00:00 2001 From: Maki Nishifuji Date: Sat, 28 Jan 2017 02:53:27 +0900 Subject: [PATCH] Prevent freezing outgoing --- .../server/triggers.coffee | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/rocketchat-integrations/server/triggers.coffee b/packages/rocketchat-integrations/server/triggers.coffee index 3835d5de61f..93ac143babb 100644 --- a/packages/rocketchat-integrations/server/triggers.coffee +++ b/packages/rocketchat-integrations/server/triggers.coffee @@ -79,7 +79,26 @@ executeScript = (integration, method, params) -> return try - result = script[method](params) + sandbox = + _: _ + s: s + console: console + Store: + set: (key, val) -> + return store[key] = val + get: (key) -> + return store[key] + HTTP: (method, url, options) -> + try + return {} = + result: HTTP.call method, url, options + catch e + return {} = + error: e + script: script + method: method + params: params + result = vm.runInNewContext('script[method](params)', sandbox, { timeout: 3000 }) logger.outgoing.debug '[Script method [', method, '] result of Trigger', integration.name, ':]' logger.outgoing.debug result