aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal
Commit message (Collapse)AuthorAgeFilesLines
...
* Reorganize autoloads:Carlhuda2009-12-023-2/+2
| | | | | | | | | | | | | | | | | | | | | * A new module (ActiveSupport::Autoload) is provide that extends autoloading with new behavior. * All autoloads in modules that have extended ActiveSupport::Autoload will be eagerly required in threadsafe environments * Autoloads can optionally leave off the path if the path is the same as full_constant_name.underscore * It is possible to specify that a group of autoloads live under an additional path. For instance, all of ActionDispatch's middlewares are ActionDispatch::MiddlewareName, but they live under "action_dispatch/middlewares/middleware_name" * It is possible to specify that a group of autoloads are all found at the same path. For instance, a number of exceptions might all be declared there. * One consequence of this is that testing-related constants are not autoloaded. To get the testing helpers for a given component, require "component_name/test_case". For instance, "action_controller/test_case". * test_help.rb, which is automatically required by a Rails application's test helper, requires the test_case.rb for all active components, so this change will not be disruptive in existing or new applications.
* cache_store and page_cache_directory are already defined in cachingJoshua Peek2009-12-011-4/+1
| | | | and pages
* Allow ActionController::Responder to have a common entry point for all formats.José Valim2009-12-011-3/+8
| | | | Signed-off-by: Yehuda Katz <wycats@Yehuda-Katz.local>
* Extract form_authenticity_param instance method so it's overridable in ↵Jeremy Kemper2009-11-171-0/+5
| | | | subclasses
* Split mime responder into smaller chunks and allow action to be configured.José Valim2009-11-131-17/+27
| | | | Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* String#bytesize is not needed for Ruby >= 1.8.7Xavier Noria2009-11-091-2/+0
|
* Update AC::Middleware to play better with the normal AC::Metal stack. This ↵Yehuda Katz2009-11-051-1/+1
| | | | required stopping to use #call for non-rack-related stuff
* Extracted localized_cache.rb from ActionController, added it to ↵José Valim2009-11-011-38/+3
| | | | AbstractController and made ActionMailer use it.
* Add some basic render_test to AbstractController.José Valim2009-11-011-0/+9
|
* Improve AbstractController layouts coverage.José Valim2009-11-011-0/+4
|
* Move all render and layout pieces required in ActionMailer from ↵José Valim2009-11-012-34/+0
| | | | ActionController to AbstractController.
* Remove ActionMailer helpers and rely on AbstractController one.José Valim2009-11-011-65/+4
|
* Refactor ActionMailer layout and remove legacy one.José Valim2009-11-011-11/+0
|
* Caching refactoringYehuda Katz2009-10-291-3/+5
|
* New semantics eliminate the need for __send__Yehuda Katz2009-10-281-2/+2
|
* Reorganize CSRF a bitYehuda Katz2009-10-281-33/+23
|
* #include should be #extendYehuda Katz2009-10-271-1/+1
|
* Clean up flash a bitYehuda Katz2009-10-271-1/+1
|
* Clean up flash a bitYehuda Katz2009-10-261-25/+23
|
* Clean up parameter logging someYehuda Katz2009-10-261-42/+23
|
* Clean up and update cookiesYehuda Katz2009-10-261-17/+27
|
* Fixes expires_now and cleans things up a bitYehuda Katz2009-10-261-1/+1
|
* Extract #head into its own module and simplify itYehuda Katz2009-10-262-36/+30
|
* Base setup for config object in AC.Yehuda Katz2009-10-262-12/+31
|
* Only undef to_json if it's definedJeremy Kemper2009-10-191-1/+1
|
* Unify class_inheritable_accessor and extlib_inheritable_accessor and allow ↵José Valim2009-10-171-6/+3
| | | | responder to be set in the class level.
* Deprecate RAILS_ROOT in favor of Rails.root (which proxies to the ↵Carl Lerche2009-10-161-1/+1
| | | | application's object root)
* Unify benchmark APIs.José Valim2009-10-151-21/+2
|
* Use ERB::Util.h over CGI.escapeHTML as the former is safety aware and the ↵Michael Koziarski2009-10-151-1/+1
| | | | latter isn't
* CookieJar#delete should return the key's value, consistent with a HashJeffrey Hardy2009-10-141-1/+2
| | | | Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Finish porting over the initializers to the app object and fix all the testsCarl Lerche2009-10-081-1/+1
|
* Resurrect AC::Benchmarking [#3140 state:resolved]Joshua Peek2009-09-241-0/+92
|
* SessionRestoreError belongs in ADJoshua Peek2009-09-231-3/+0
|
* Remove global exception catching from ApplicationController.Joshua Peek2009-09-151-42/+3
| | | It was severely broken since it was ported to NewBase and is causing problems with normal exception catching. A replacement is coming soon.
* Fix filtering parameters when there are Fixnum or other un-dupable values.Nathaniel Talbott2009-09-101-1/+1
| | | | | | [#3184 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Ensure that blocks are also handled inside the responder.José Valim2009-08-292-23/+36
|
* Attempt to render the template inside the responder, so it can be used for ↵José Valim2009-08-292-26/+37
| | | | | | caching and pagination. Signed-off-by: Yehuda Katz <wycats@gmail.com>
* And the same thing for BasicYehuda Katz + Carl Lerche2009-08-251-1/+2
|
* HTTP Auth should not depend on RenderingControllerYehuda Katz + Carl Lerche2009-08-251-1/+2
|
* Redirector had an undeclared dependency on Logger.Yehuda Katz + Carl Lerche2009-08-251-0/+3
|
* Modify Digest and Basic to take a request so they can be used outside of the ↵Yehuda Katz + Carl Lerche2009-08-251-7/+7
| | | | controller
* ActionController::Metal can be a middlewareYehuda Katz + Carl Lerche2009-08-251-7/+1
|
* Move legacy param_parsers config onto AD::ParamsParserJoshua Peek2009-08-211-6/+0
|
* Got tests to pass with some more changes.Yehuda Katz2009-08-151-7/+15
| | | | | | | | | | | | | | | | * request.formats is much simpler now * For XHRs or Accept headers with a single item, we use the Accept header * For other requests, we use params[:format] or fallback to HTML * This is primarily to work around the fact that browsers provide completely broken Accept headers, so we have to whitelist the few cases we can specifically isolate and treat other requests as coming from the browser * For APIs, we can support single-item Accept headers, which disambiguates from the browsers * Requests to an action that only has an XML template from the browser will no longer find the template. This worked previously because most browsers provide a catch-all */*, but this was mostly accidental behavior. If you want to serve XML, either use the :xml format in links, or explicitly specify the XML template: render "template.xml".
* Caches and cache clearing seems to actually work, but the actual ↵Yehuda Katz2009-08-151-0/+32
| | | | architecture is kind of messy. Next: CLEAN UP.
* Merge branch 'master' of git://github.com/rails/railsJosé Valim2009-08-134-17/+22
|\
| * More perf work:Yehuda Katz2009-08-113-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move #set_cookie and #delete_cookie inline to optimize. These optimizations should almost certainly be sent back upstream to Rack. The optimization involves using an ivar for cookies instead of indexing into the headers each time. * Was able to use a bare Hash for headers now that cookies have their own joining semantics (some code assumed that the raw cookies were an Array). * Cache blankness of body on body= * Improve expand_cache_key for Arrays of a single element (common in our case) * Use a simple layout condition check unless conditions are used * Cache visible actions * Lazily load the UrlRewriter * Make etag an ivar that is set on prepare!
| * 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>