def dispatch(env)
      return [500, {'Content-Type' => 'text/plain'}, ["Server Not Ready"]] if @booting

      begin
        new_env = plugin_before_dispatch(env)
        plugin_after_dispatch(new_env, do_dispatch(new_env))
      rescue Exception => e
        bt = e.backtrace.join("\n")
        [500, {'Content-Type' => 'text/plain'}, ["Exception: #{e}\n\n#{bt}"]]
      end
    end
def dispatch(env)
      return [500, {'Content-Type' => 'text/plain'}, ["Server Not Ready"]] if @booting

      begin
        new_env = plugin_before_dispatch(env)
        plugin_after_dispatch(new_env, do_dispatch(new_env))
      rescue Exception => e
        bt = e.backtrace.join("\n")
        [500, {'Content-Type' => 'text/plain'}, ["Exception: #{e}\n\n#{bt}"]]
      end
    end
Convenience wrapper for do_dispatch
 This is the heart of the server, called indirectly by a Rack aware server.

 @param env [Hash]
 @return [Array]