module Lamby module Debug include Lamby::SamHelpers extend self def on?(event) params = event['multiValueQueryStringParameters'] || event['queryStringParameters'] (development? || ENV['LAMBY_DEBUG']) && params && params['debug'] == '1' end def call(event, context, env) [ 200, { 'Content-Type' => 'text/html' }, [body(event, context, env)] ] end private def body(event, context, env) <<-HTML

Lamby Debug Response

Event

              #{JSON.pretty_generate(event)}
            

Rack Env

              #{JSON.pretty_generate(env)}
            

#{context.class.name}

#{CGI::escapeHTML(context.inspect)}

Environment

              #{sam_local? ? JSON.pretty_generate(ENV.to_h) : 'N/A'}
            
HTML end def development? ENV .slice('RACK_ENV', 'RAILS_ENV') .values .any? { |v| v.to_s.casecmp('development').zero? } end end end