Sha256: f2ebc16208ad6b9cd2479904aa8b398909954691d56499366017bacb28ba236e

Contents?: true

Size: 1.12 KB

Versions: 7

Compression:

Stored size: 1.12 KB

Contents

require 'lamby/logger'
require 'rack'
require 'base64'
require 'lambda-console-ruby'
require 'lamby/version'
require 'lamby/config'
require 'lamby/rack'
require 'lamby/rack_alb'
require 'lamby/rack_rest'
require 'lamby/rack_http'
require 'lamby/debug'
require 'lamby/cold_start_metrics'
require 'lamby/handler'

if defined?(Rails)
  require 'rails/railtie'
  require 'lamby/railtie'
end

module Lamby

  extend self

  def cmd(event:, context:)
    handler(config.rack_app, event, context)
  ensure
    config.handled_proc.call(event, context)
  end

  def handler(app, event, context, options = {})
    Handler.call(app, event, context, options)
  end

  def config
    Lamby::Config.config
  end

  autoload :SsmParameterStore, 'lamby/ssm_parameter_store'
  autoload :ProxyContext, 'lamby/proxy_context'
  autoload :ProxyServer, 'lamby/proxy_server'

end

# Add signal traps for clean exit
Signal.trap("TERM") do
  puts "Received SIGTERM, exiting gracefully..."
  exit!(0) # exit! ensures no exception is raised
end

Signal.trap("INT") do
  puts "Received SIGINT, exiting gracefully..."
  exit!(0) # exit! ensures no exception is raised
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
lamby-6.0.1 lib/lamby.rb
lamby-6.0.0 lib/lamby.rb
lamby-5.2.2 lib/lamby.rb
lamby-5.2.1 lib/lamby.rb
lamby_updated-5.2.4 lib/lamby.rb
lamby_updated-5.2.2 lib/lamby.rb
lamby_updated-5.2.1 lib/lamby.rb