On 09/13 10:34, Eric Wong wrote: > Jeremy Evans <c...@jeremyevans.net> wrote: > > I was originally looking for a way to turn off default middleware > > without having to specify the -N command line option every time. > > After reading the Unicorn.builder code, I thought it may be > > possible to do this by specifying the option as an embedded option > > in the rackup file, via the following line at the top of the file: > > > > #\-N > > > > Unfortunately, while this works for many other command line options, > > because of Unicorn's internals, this doesn't work for -N, as > > embedded options are not parsed until after the check for skipping > > default middleware is made. > > That was intentional, I think. We should never be encouraging > users to pollute config.ru and make it difficult to migrate/test > other servers. > > > This patch makes the embedded -N option work, as well as adds a > > default_middleware configuration file option > > I really hate the -N vs RACK_ENV=none redundancy... Is -N still > needed for Rails or something else while keeping RACK_ENV unset?
I use RACK_ENV to configure the environment for my web applications, and for a few reasons have used development/test/production as the environment names. I try as much as possible to have the development environment mirror the production environment unless there is a good reason to be different, and would like to avoid adding all of the middleware Unicorn adds in development mode. Additionally, let's say I want to add Rack::CommonLogger to both development and production environments. So in my config.ru, I add: use Rack::CommonLogger, Logger.new($stderr) Now I load up the development version. Then I have two common loggers in development, with all requests being logged twice. I currently work around this by doing something like: unless ENV['RACK_ENV'] == 'development' use Rack::CommonLogger, Logger.new($stderr) end I would like to avoid having to do that. > Worse case is we only support default_middleware as a config > option (but I prefer not to add more options). Embedded -N support > is an anti-feature which leads to lock-in. I don't really care about embedded -N support. I actually didn't even know embedded command file options were possible until I saw the comment in Unicorn.builder. I just want some way to specify not to load default middleware without requiring a command line option each time. Thanks, Jeremy -- unsubscribe: unicorn-public+unsubscr...@bogomips.org archive: https://bogomips.org/unicorn-public/