aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal
Commit message (Collapse)AuthorAgeFilesLines
...
| * Got overhead down from 127 to 85. All tests pass:Yehuda Katz2009-08-112-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Tentatively replaced HeaderHash with SimpleHeaderHash, which does not preserve case but does handle converting Arrays to Strings in to_hash. This requires further discussion. * Moved default_charset to ActionDispatch::Response to avoid having to hop over to ActionController. Ideally, this would be a constant on AD::Response, but some tests expect to be able to change it dynamically and I didn't want to change them yet. * Completely override #initialize from Rack::Response. Previously, it was creating a HeaderHash, and then we were creating an entirely new one. There is no way to call super without incurring the overhead of creating a HeaderHash. * Override #write from Rack::Response. Its implementation tracks Content-Length, and doing so adds additional overhead that could be mooted if other middleware changes the body. It is more efficiently done at the top-level server. * Change sending_file to an instance_variable instead of header inspection. In general, if a state is important, it should be set as a property of the response not reconstructed later. * Set the Etag to @body instead of .body. AS::Cache.expand_cache_key handles Arrays fine, and it's more efficient to let it handle the body parts, since it is not forced to create a joined String. * If we detect the default cache control case, just set it, rather than setting the constituent parts and then running the normal (expensive) code to generate the string.
* | Ensure collections are not treated as nested resources.José Valim2009-08-132-7/+8
|/
* Allow to configure trusted proxies via ↵Felipe Talavera2009-08-091-0/+2
| | | | | | ActionController::Base.trusted_proxies [#2126 state:resolved] Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Make http digest work with different server/browser combinationsJosé Valim2009-08-091-1/+2
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Fix HTTP basic authentication for long credentials [#2572 state:resolved]Jan Schwenzien2009-08-091-1/+1
| | | | Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Renamed ActionController::Renderer to ActionController::Responder and ↵José Valim2009-08-082-25/+25
| | | | ActionController::MimeResponds::Responder to ActionController::MimeResponds::Collector.
* First pass at making partial rendering an Object. More cleanup to come.Yehuda Katz2009-08-081-3/+0
|
* Renamed presenter to renderer, added some documentation and defined its API.José Valim2009-08-077-211/+250
|
* Encapsulate respond_with behavior in a presenter.José Valim2009-08-071-190/+165
|
* Add destroyed? to ActiveRecord, include tests for polymorphic urls for ↵José Valim2009-08-071-0/+31
| | | | destroyed objects and refactor mime responds tests and documentation.
* Add nagivational behavior to respond_with.José Valim2009-08-072-50/+114
|
* Merge branch 'master' of git://github.com/rails/rails into oldJosé Valim2009-08-071-13/+2
|\
| * Get all ActionController partial rendering to use ActionView's partial code. ↵Yehuda Katz2009-08-071-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Consequences: * It is not possible to always pre-determine the layout before going to ActionView. This was *already* broken for render :partial => @object, :layout => true. This is now handled by overriding render_to_body in layouts.rb and manually injecting the partial's response. This needs to be done in ActionController since ActionController knows enough to get _layout_for_option. There is probably a better abstraction here. * As a result, all partial rendering can correctly restrict their layouts to the mime type of the rendered partial. This could have previously caused a bug in some edge cases. * If other layout-like options are added, they might need to add special code for the case of render :partial. We should try to think of an alternate solution, if possible, but this works for the cases we know of now.
* | Merge branch 'master' of git://github.com/rails/rails into oldJosé Valim2009-08-071-47/+81
|/
* Start cleaning up partial pathYehuda Katz2009-08-071-1/+1
|
* ActionController::Metal#to_rack converted to #to_a to match normal rack ↵Yehuda Katz2009-08-061-1/+1
| | | | convention
* Update _render_options to reflect the fact that they're publicYehuda Katz2009-08-061-6/+6
|
* Rename /base to /metal and make base.rb and metal.rb top-level to reflect ↵Yehuda Katz2009-08-0623-0/+2618
their module locations