The :status_handler plugin adds a #.status_handler method which sets a block that is called
whenever a response with the relevant response code with an empty body would be returned.
This plugin does not support providing the blocks with the plugin call; you must provide them to
status_handler calls afterwards:
plugin :status_handler
status_handler(403) do
"You are forbidden from seeing that!"
end
status_handler(404) do
"Where did it go?"
endBefore a block is called, any existing headers on the response will be cleared. So if you want to be sure the headers are set even in your block, you need to reset them in the block.
Install the given block as a status handler for the given HTTP response code.
#.status_handler(code, &block)Freeze the hash of status handlers so that there can be no thread safety issues at runtime.
#.freezeIf routing returns a response we have a handler for, call that handler. def call