Skip to content

Docs on Advanced Usage & Configs #138

Description

@metaskills

Now that we have Lamby v4, with various Rack handler and proc configs, we should document them all in one place. Will do this on the new site. Will also cover some DIY escape hatches if Lamby.cmd does not work for you.

require_relative 'config/environment'
$app = Rack::Builder.new { run Rails.application }.to_app
def handler(event:, context:)
  Lamby.handler $app, event, context, rack: :http
end

Activity

  1. metaskills commented on Mar 5, 2023

    @metaskills
    MemberAuthor

    Demonstrate how stuff like this from an app.rb example file would look:

    $app = Rack::Builder.new do
      map '/robots.txt' do
        response = File.read("public/deny.txt")
        run ->(_env) { [200, { 'Content-Type' => 'text/plain' }, [response]] }
      end
      map ENV['RAILS_RELATIVE_URL_ROOT'] do
        run Rails.application
      end
    end.to_app
    LambdaPunch.start_server!
    
    def handler(event:, context:)
      Lamby.handler $app, event, context, rack: :http
    ensure
      LambdaPunch.push { NewRelic::Agent.agent.flush_pipe_data }
      LambdaPunch.handled!(context)
    end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions