aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
Commit message (Collapse)AuthorAgeFilesLines
* ActionController::Metal can be a middlewareYehuda Katz + Carl Lerche2009-08-251-1/+4
|
* Move legacy param_parsers config onto AD::ParamsParserJoshua Peek2009-08-211-5/+7
|
* Adding a call to logger from params_parser to give detailed debug ↵Jay Pignata2009-08-151-0/+6
| | | | | | | | information when invalid xml or json is posted [#2481 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net>
* Got tests to pass with some more changes.Yehuda Katz2009-08-151-24/+12
| | | | | | | | | | | | | | | | * 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".
* More perf work:Yehuda Katz2009-08-112-58/+63
| | | | | | | | | | | | | | * 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-111-36/+56
| | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* This change causes some failing tests, but it should be possible to make ↵Yehuda Katz2009-08-111-11/+12
| | | | them pass with minimal performance impact.
* Allow to configure trusted proxies via ↵Felipe Talavera2009-08-091-2/+2
| | | | | | ActionController::Base.trusted_proxies [#2126 state:resolved] Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Add :redirect to the testable RJS statements [#2612 state:resolved]Jon Wood2009-08-091-3/+10
| | | | | | | Example : assert_select_rjs :redirect, root_path Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
* Remove legacy processing and content_lengthYehuda Katz2009-08-021-40/+10
| | | | | | | | | | | * convert_content_type! is handled by assign_default_content_type_and_charset! * set_content_length! should be handled by the endpoint server. Otherwise each middleware that modifies the body has to do the expensive work of recalculating content_length. * convert_language! appears to be legacy. There are no tests for this * convert_cookies! should be handled by the new HeaderHash in Rack * Use an integer for .status's internal representation to avoid needing to do String manipulation just to find out the status
* Update cache_control to be a Hash of options that is used to build the header.Yehuda Katz2009-08-021-5/+19
| | | | * Significantly simplifies setting and modifying cache control in other areas
* Remove last TODO.José Valim2009-07-291-1/+1
| | | | Signed-off-by: Yehuda Katz <wycats@gmail.com>
* Remove Mime::ALL from Mime::SET.José Valim2009-07-291-2/+4
| | | | Signed-off-by: Yehuda Katz <wycats@gmail.com>
* Refactor even more Responder. Move mime negotiation to request and added ↵José Valim2009-07-291-8/+34
| | | | | | respond_to class method. Signed-off-by: Yehuda Katz <wycats@gmail.com>
* Small changes to get 1.9 passing (for the most part)Yehuda Katz2009-06-231-1/+1
|
* Fixing pending tests and fixed some formats / partial rendering semanticsYehuda Katz + Carl Lerche2009-06-172-7/+17
|
* Finish making things pass with updated internal content_type semanticsYehuda Katz + Carl Lerche2009-06-151-45/+11
|
* ActionPack components should no longer have undeclared dependencies.Yehuda Katz + Carl Lerche2009-06-082-0/+3
| | | | | | | * Tests can be run in isolation * Dependencies added * A few tests modified to avoid depending on AS deps not depended on my files they were testing
* Depend on Hash#diff extensionJeremy Kemper2009-05-301-0/+2
|
* Revert "Only save the session if we're actually writing to it [#2703 ↵Joshua Peek2009-05-301-10/+1
| | | | | | state:resolved]" This reverts commit dd98280e38d640f5724887cf8a715b79f0439d2d.
* Only save the session if we're actually writing to it [#2703 state:resolved]Johan Sörensen2009-05-281-1/+10
| | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Make the default 500 Internal Server Error page more friendly. Many people ↵Hongli Lai (Phusion)2009-05-271-1/+4
| | | | | | don't know they're supposed to look in the log files. [#2716 state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Got all the dispatch tests running on new baseCarl Lerche2009-05-261-5/+6
|
* Don't want Rack's Content-Type default header thoughJeremy Kemper2009-05-241-2/+3
|
* Construct a single HeaderHash. Speed up assign_default_content_type_and_charsetJeremy Kemper2009-05-241-4/+10
|
* Speed up Request#formatsJeremy Kemper2009-05-231-6/+14
|
* Slightly modify things to get content type matching working without breaking ↵Yehuda Katz2009-05-231-2/+8
| | | | other code
* Remove some response content type concepts from ActionViewYehuda Katz + Carl Lerche2009-05-212-2/+2
|
* Fixed new_base tests on ruby 1.9Yehuda Katz + Carl Lerche2009-05-201-1/+1
|
* Wrap string body in an arrayJeremy Kemper2009-05-201-1/+1
|
* Temporarily bundle rack-test while MockSession is bakingJoshua Peek2009-05-197-0/+641
|
* Allow ParamsParser to parse YAML from the request body IO directlyBrian Lopez2009-05-171-1/+1
| | | | Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Extract generic callbacks middleware from dispatcherJoshua Peek2009-05-171-0/+40
|
* Merge Failsafe middleware into ShowExceptionsJoshua Peek2009-05-172-98/+40
|
* Add support for parsing XML and JSON from an IO as well as a string [#2659 ↵Brian Lopez2009-05-171-5/+3
| | | | | | state:resolved] Signed-off-by: Joshua Peek <josh@joshpeek.com>
* Instead of checking Rails.env.test? in Failsafe middleware, check ↵Bryan Helmkamp2009-05-161-3/+2
| | | | env["rails.raise_exceptions"]
* Cherry-picking Active Support extensionsJeremy Kemper2009-05-141-2/+4
|
* Cherry-pick core extensionsJeremy Kemper2009-05-133-0/+3
|
* Implemented redirects and partial rendering in new base.Yehuda Katz + Carl Lerche2009-05-121-6/+0
|
* Merge branch 'master' into wip_abstract_controllerYehuda Katz + Carl Lerche2009-05-1116-45/+304
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: actionpack/lib/action_controller/abstract/callbacks.rb actionpack/lib/action_controller/abstract/renderer.rb actionpack/lib/action_controller/base/base.rb actionpack/lib/action_controller/dispatch/dispatcher.rb actionpack/lib/action_controller/routing/route_set.rb actionpack/lib/action_controller/testing/process.rb actionpack/test/abstract_controller/layouts_test.rb actionpack/test/controller/filters_test.rb actionpack/test/controller/helper_test.rb actionpack/test/controller/render_test.rb actionpack/test/new_base/test_helper.rb
| * Wrap dispatcher callbacks around the whole middleware chain. Kill ↵Joshua Peek2009-05-031-14/+0
| | | | | | | | unnecessary Reloader middleware.
| * Show lazy middleware args in pretty printJoshua Peek2009-05-031-2/+1
| |
| * Extract ActionController rescue templates into Rescue and ShowExceptions ↵Joshua Peek2009-05-0211-7/+281
| | | | | | | | | | middleware. This commit breaks all exception catching plugins like ExceptionNotifier. These plugins should be rewritten as middleware instead overriding Controller#rescue_action_in_public.
| * Switch functional tests to run through the rack interface instead of processJoshua Peek2009-05-021-0/+5
| |
| * Functional test runner finalizes response just like the integration test ↵Joshua Peek2009-05-022-13/+7
| | | | | | | | | | runner. In both runners, the @response object will now behave the same. Some functional tests will need to be updated if they are relying on preprocessed data on the response.
| * Deprecate assert_redirect_to's partial hash matchingJoshua Peek2009-05-023-9/+8
| |
* | Renamed Base2 to Base and don't require old action_controller for new BaseYehuda Katz + Carl Lerche2009-05-011-2/+0
|/
* Rename vendor/rack to vendor/rack-1.1.prePratik Naik2009-05-0151-0/+0
|
* Vendor Rack edge ( commit : 815342a8e15db564b766f209ffb1e340233f064f )Pratik Naik2009-05-0151-0/+5412
|
* Move TestRequest#query_parameters into AD TestRequestJoshua Peek2009-04-302-1/+5
|