Prevent freezing

Even if a crazy scripts in webhooks.
e.g. `while(true) { ... }`
pull/5816/head
Maki Nishifuji 9 years ago
parent f7b6474a8c
commit 73afd8acb7
  1. 13
      packages/rocketchat-integrations/server/api/api.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_webhook({ request: request })', sandbox, { timeout: 3000 })
if result?.error?
return RocketChat.API.v1.failure result.error

Loading…
Cancel
Save