This would prevent Unicorn from adding default middleware, as if RACK_ENV were always none. (not development nor deployment)
This should also be applied to `rainbows' and `zbatery' as well. One of the reasons to add this is to avoid conflicting RAILS_ENV and RACK_ENV. It would be helpful in the case where a Rails application and Rack application are composed together, while we want Rails app runs under development and Rack app runs under none (if we don't want those default middleware), and we don't really want to make RAILS_ENV set to development and RACK_ENV to none because it might be confusing. Note that Rails would also look into RACK_ENV. Another reason for this is that only `rackup' would be inserting those default middleware. Both `thin' and `puma' would not do this, nor does Rack::Handler.get.run which is used in Sinatra. So using this option would make it work differently from `rackup' but somehow more similar to `thin' or `puma'. Discussion thread on the mailing list: http://rubyforge.org/pipermail/mongrel-unicorn/2013-January/001675.html --- bin/unicorn | 5 +++++ lib/unicorn.rb | 2 ++ 2 files changed, 7 insertions(+) diff --git a/bin/unicorn b/bin/unicorn index 9962b58..415d164 100755 --- a/bin/unicorn +++ b/bin/unicorn @@ -58,6 +58,11 @@ op = OptionParser.new("", 24, ' ') do |opts| ENV["RACK_ENV"] = e end + opts.on("-N", "--no-default-middleware", + "no default middleware even if RACK_ENV is development") do |e| + rackup_opts[:no_default_middleware] = true + end + opts.on("-D", "--daemonize", "run daemonized in the background") do |d| rackup_opts[:daemonize] = !!d end diff --git a/lib/unicorn.rb b/lib/unicorn.rb index d96ff91..f0ceffe 100644 --- a/lib/unicorn.rb +++ b/lib/unicorn.rb @@ -49,6 +49,8 @@ module Unicorn pp({ :inner_app => inner_app }) if $DEBUG + return inner_app if op[:no_default_middleware] + # return value, matches rackup defaults based on env # Unicorn does not support persistent connections, but Rainbows! # and Zbatery both do. Users accustomed to the Rack::Server default -- 1.8.1.1 _______________________________________________ Unicorn mailing list - [email protected] http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
