Sha256: 1318ac8eae13d6d70f5712fe162f34f799d5e6e5d03c34d76cd25b2a683dfb4d

Contents?: true

Size: 1.07 KB

Versions: 26

Compression:

Stored size: 1.07 KB

Contents

module Lamby
  module Debug
    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
        <!DOCTYPE html>
        <html>
          <body>
            <h1>Lamby Debug Response</h1>
            <h2>Event</h2>
            <pre>
              #{JSON.pretty_generate(event)}
            </pre>
            <h2>Rack Env</h2>
            <pre>
              #{JSON.pretty_generate(env)}
            </pre>
            <h2>#{context.class.name}</h2>
            <code>
              #{CGI::escapeHTML(context.inspect)}
            </code>
          </body>
        </html>
      HTML
    end

    def development?
      ENV.to_h
        .slice('RACK_ENV', 'RAILS_ENV')
        .values
        .any? { |v| v.to_s.casecmp('development').zero? }
    end

  end
end

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
lamby-6.0.1 lib/lamby/debug.rb
lamby-6.0.0 lib/lamby/debug.rb
lamby-5.2.2 lib/lamby/debug.rb
lamby-5.2.1 lib/lamby/debug.rb
lamby_updated-5.2.4 lib/lamby/debug.rb
lamby_updated-5.2.2 lib/lamby/debug.rb
lamby_updated-5.2.1 lib/lamby/debug.rb
lamby-5.2.0 lib/lamby/debug.rb
lamby-5.1.0 lib/lamby/debug.rb
lamby-5.0.0 lib/lamby/debug.rb
lamby-4.3.3 lib/lamby/debug.rb
lamby-4.3.0 lib/lamby/debug.rb
lamby-4.2.1 lib/lamby/debug.rb
lamby-4.2.0 lib/lamby/debug.rb
lamby-4.1.1 lib/lamby/debug.rb
lamby-4.1.0 lib/lamby/debug.rb
lamby-4.0.2 lib/lamby/debug.rb
lamby-4.0.1 lib/lamby/debug.rb
lamby-4.0.0 lib/lamby/debug.rb
lamby-4.0.0.pre1 lib/lamby/debug.rb