Files
fission-src/environments/ruby/fission/handler.rb
T
Brendan StennettandTa-Ching Chen c717f182b6 Added support for Ruby v2 Specialization (#1101)
* Added support for Ruby v2 Specialization
* Added ruby v2 example with builder code
2019-03-13 22:55:26 +08:00

24 lines
529 B
Ruby

# frozen_string_literal: true
require_relative 'context'
module Fission
module Handler
def self.call(env)
context = Context.new(env)
response = if $handler.arity > 0
$handler.call(context)
else
$handler.call
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