class RailsHush::HushOne

Public Class Methods

new(app, renderer=nil) click to toggle source
# File lib/rails_hush/middleware/hush_one.rb, line 5
def initialize(app, renderer=nil)
  @app = app
  @renderer ||= Rails.application.config.rails_hush.renderer || method(:default_renderer)
end

Public Instance Methods

call(env) click to toggle source
# File lib/rails_hush/middleware/hush_one.rb, line 10
def call(env)
  request = ActionDispatch::Request.new env
  if request.show_exceptions? && !request.get_header("action_dispatch.show_detailed_exceptions")
    begin
      @app.call(env)
    rescue ActionController::UnknownHttpMethod
      render 405, request, 'Unrecognized HTTP method'
    end
  else
    @app.call(env)
  end
end