summary refs log tree commit
path: root/lib/rack/methodoverride.rb
DateCommit message (Collapse)
2014-10-02Less allocated objects on each request
How many? Using `memory_profiler` and a Rails app (codetriage.com), master uses: ``` rack/lib x 7318 ``` After this patch, the app uses: ``` rack/lib x 4598 ``` Or `(7318 - 4598) / 7318.0 * 100 # => 37.16` % fewer objects __PER REQUEST__. To do this, I extracted really commonly used strings into top level Rack constants. It makes for a bit of a big diff, but I believe the changes are worth it. Running benchmark/ips against the same app, I'm seeing a performance host of `2~4%` across the entire app response. This doesn't just make Rack faster, it will make your app faster. While we could certainly go overboard and pre-define ALL strings as constants, that would be pretty gnarly to work with. This patch goes after the largest of the low hanging fruit.
2014-05-20Move ["POST"] to a constant
2014-05-17Refactor methodoverride to make it easier to inherit and extend
2013-06-14add LINK and UNLINK methods
2012-11-17Allow EOFError exception from request parser to continue up the stack.
2011-12-06Handle EOFError exception from malformed multipart in MethodOverride middleware
2011-03-18add support for PATCH verb to Rack::MethodOverride
2009-01-06Store original HTTP method in MethodOverride middleware
2008-12-30Support X-Http-Method-Override header in MethodOverride middleware
2008-12-18Fix MethodOverride error when POST has no _method param
2008-09-07Add MethodOverride middleware to allow browsers to fake PUT and DELETE methods