- Currently it's not possible to override the default options for
Puma::Configuration with user provided options.
- I came across this issue while working on fixing server restart for
Rails.
- Rails can send it's own restart command to Puma and Puma should store
it in it's configuration object. So that Puma::Launcher can use it.
- After this patch it will be possible as user provided options will be
taken into account in Configuration object.
Right now if you specify a port via `-p $PORT` and via a `config/puma.rb` then puma will incorrectly try to bind to the same port twice and will fail.
This PR calls `uniq!` on the array to remove duplicate ports from the `binds` array.
Add a lowlevel_error_handler, so we can customize the default error
message.
example:
```
lowlevel_error_handler do
[302, {'Content-Type' => 'text', 'Location' => 'foo.html'}, ['302 found']]
end
```
[fix#458]