puma/puma — pull request #305 by darkhelmet (2013-07-05 21:44:07+00:00)
Title: Don't crash when given a non-standard HTTP code

We are using 449 in an app, because it's actually appropriate for the situation. The Rack codes don't include that because it's non-standard (MSFT extension).

This was crashing puma and returning a 500 because turning `nil` into a `String` is super hard for ruby. The error message was bizarre so took a while to track down. We ended up adding the 449 k/v pair to the `Rack::Utils` hash, and that solves the problem.

Going forward, there is this solution, or the call to `fetch` should just raise a more appropriate error and suggest a way to fix the problem (use a different code, or register a new code, which would need supporting code).