Files
fission-src/environments/ruby/fission/handler.rb
T
S. Brent FaulknerandSoam Vasani 51c84f3cfc Ruby logger (#251)
* Add logger for ruby environment

* Update readme and example for ruby logger

* ruby-env: log load time for user code
2017-07-07 18:05:11 -07:00

24 lines
525 B
Ruby

# frozen_string_literal: true
require_relative 'context'
module Fission
module Handler
def self.call(env)
context = Context.new(env)
response = if method(:handler).arity > 0
handler(context)
else
handler
end
response.is_a?(Array) ? response : Rack::Response.new([response]).finish
rescue => e
context.logger.error(%(Function failed - #{e}\n#{e.backtrace.join("\n")}))
Rack::Response.new(['500 Internal Server Error'], 500, {}).finish
end
end
end