Module: Roda::RodaPlugins::RunHandler

Defined in:
lib/roda/plugins/run_handler.rb

Overview

The run_handler plugin allows r.run to take a block, which is yielded the rack response array, before it returns it as a response.

Additionally, r.run also takes a options hash, and you can provide a not_found: :pass option to keep routing normally if the rack app returns a 404 response.

plugin :run_handler

route do |r|
  r.on 'a' do
    # Keep running code if RackAppFoo doesn't return a result
    r.run RackAppFoo, not_found: :pass

    # Change response status codes before returning.
    r.run(RackAppBar) do |response|
      response[0] = 200 if response[0] == 201
    end
  end
end

Defined Under Namespace

Modules: RequestMethods