module Roda::RodaPlugins::StatusHandler::ClassMethods

def freeze

Freeze the hash of status handlers so that there can be no thread safety issues at runtime.
def freeze
  opts[:status_handler].freeze
  super
end

def status_handler(code, &block)

Install the given block as a status handler for the given HTTP response code.
def status_handler(code, &block)
  # For backwards compatibility, pass request argument if block accepts argument
  arity = block.arity == 0 ? 0 : 1
  opts[:status_handler][code] = [define_roda_method(:"_roda_status_handler_#{code}", arity, &block), arity]
end