class Grape::Middleware::Base

def call!(env)

def call!(env)
  @env = env
  before
  begin
    @app_response = @app.call(@env)
  ensure
    begin
      after_response = after
    rescue StandardError => e
      warn "caught error of type #{e.class} in after callback inside #{self.class.name} : #{e.message}"
      raise e
    end
  end
  response = after_response || @app_response
  merge_headers response
  response
end