Merge pull request #5816 from nishimaki10/prevent-freezing-webhook

Prevent freezing webhook
pull/5846/head
Gabriel Engel 9 years ago committed by GitHub
commit e28d865d5d
  1. 13
      packages/rocketchat-integrations/server/api/api.coffee
  2. 29
      packages/rocketchat-integrations/server/triggers.coffee

@ -167,7 +167,18 @@ executeIntegrationRest = ->
username: @user.username
try
result = script.process_incoming_request({ request: request })
sandbox =
_: _
s: s
console: console
Store:
set: (key, val) ->
return store[key] = val
get: (key) ->
return store[key]
script: script
request: request
result = vm.runInNewContext('script.process_incoming_request({ request: request })', sandbox, { timeout: 3000 })
if result?.error?
return RocketChat.API.v1.failure result.error

@ -79,17 +79,36 @@ 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
return result
catch e
logger.incoming.error '[Error running Script in Trigger', integration.name, ':]'
logger.incoming.error integration.scriptCompiled.replace(/^/gm, ' ')
logger.incoming.error "[Stack:]"
logger.incoming.error e.stack.replace(/^/gm, ' ')
logger.outgoing.error '[Error running Script in Trigger', integration.name, ':]'
logger.outgoing.error integration.scriptCompiled.replace(/^/gm, ' ')
logger.outgoing.error "[Stack:]"
logger.outgoing.error e.stack.replace(/^/gm, ' ')
return

Loading…
Cancel
Save