aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix handling of empty X_FORWARDED_HOST header.adam2015-03-201-1/+1
| | | | | | Previously, an empty X_FORWARDED_HOST header would cause Actiondispatch::Http:URL.raw_host_with_port to return nil, causing Actiondispatch::Http:URL.host to raise a NoMethodError.
* Compare content_type with Mime::XML instead of regexpBoris Peterbarg2015-03-161-1/+1
| | | | | Regexp is broken for both content types including charsets and for integration tests, where the content_type is a Mime::Type and not String
* Merge pull request #19291 from hired/return-truthy-value-from-headRafael Mendonça França2015-03-131-0/+2
|\ | | | | Return truthy value from head method
| * Return true from head methodJoel Hayhurst2015-03-121-0/+2
| | | | | | | | | | | | It was returning false in normal circumstances. This broke the `head :ok and return if` construct. Add appropriate test.
* | Merge pull request #19309 from f1sherman/dont-set-session-options-idGuillermo Iguaran2015-03-121-1/+1
|\ \ | | | | | | Use request.session.id instead of request.session_options[:id]
| * | Use request.session.id instead of request.session_options[:id]Brian John2015-03-121-1/+1
| |/ | | | | | | | | | | | | | | | | As of the upgrade to Rack 1.5, request.session_options[:id] is no longer populated. Reflect this change in the tests by using request.session.id instead. Related change in Rack: https://github.com/rack/rack/commit/83a270d6
* | Also skip Content-Encoding and Vary header if 304Kohei Suzuki2015-03-121-3/+4
| |
* | 304 response should not include Content-Type headerKohei Suzuki2015-03-101-1/+3
|/ | | | | Rack::Lint raises an error saying "Content-Type header found in 304 response, not allowed".
* Call super last in before_setupeileencodes2015-03-091-1/+1
| | | | | | | | | | | | | | | This fixes the reasons 4cf3b8a, 303567e, and fa63448 needed to be reverted in 7142059. The revert has been reverted and this fixes the issues caused previously. If we call `super` first we will end up nuking the session settings in the application tests that do `setup do` - so any session login or cookie settings will not be persisted thoughout the test sessions. Calling `super` last prevents `@integration_session` from getting nuked and set to nil if it's already set. Test added to prevent regression of this behavior in the future.
* Revert "Revert integration test refactoring that caused app test regressions"eileencodes2015-03-091-14/+10
| | | | This reverts commit 714205988315d2f98aa3e749747c44470e18676b.
* update integration test example as is not output deprecation warning [ci skip]yuuji.yaginuma2015-03-071-7/+8
|
* Fix documentation of url_for module [ci skip]Prathamesh Sonpatki2015-03-061-1/+4
| | | | | | | | | | | - The request needs to be instance of ActionDispatch::Request or an object that responds to host, optional_port, protocol and symbolized_path_parameter. - This documentation was correctly added in https://github.com/rails/rails/commit/e3b3f416b57f5642ea25078485f7e9394ad04526 but was changed to https://github.com/rails/rails/commit/e1ceae576e3911f3e6708b5d19a0e3ef63769eb7. - Fixes #16160.
* pass a config to the route setAaron Patterson2015-03-052-5/+19
| | | | | This way we can get the relative_url_root from the application without setting another global value
* Merge pull request #19215 from ↵Sean Griffin2015-03-052-4/+2
|\ | | | | | | | | gsamokovarov/revert-ruby-2-2-0-kwarg-crash-workarounds Revert work arounds for upstream Ruby 2.2.0 kwargs bug
| * Revert work arounds for upstream Ruby 2.2.0 kwargs bugGenadi Samokovarov2015-03-052-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug caused a segfault and you can find more info about it at: https://bugs.ruby-lang.org/issues/10685. We did a couple of work arounds, but 2.2.1 rolled out and those aren't needed anymore. Here are the reverted commits: - Revert "Work around for upstream Ruby bug #10685", commit 707a433870e9e06af688f85a4aedc64a90791a64. - Revert "Fix segmentation fault in ActionPack tests", commit 22e0a22d5f98e162290d9820891d8191e720ad3b. I'm also bumping the Ruby version check to 2.2.1 to prevent future segfaults.
* | nodoc filtered_location [ci skip]Sushruth Sivaramakrishnan2015-03-051-1/+1
| |
* | Doc fix [ci skip]Sushruth Sivaramakrishnan2015-03-051-1/+1
|/
* Doc fix [ci skip]Sushruth Sivaramakrishnan2015-03-051-1/+1
|
* Doc fix [ci skip]Sushruth Sivaramakrishnan2015-03-051-1/+1
|
* Drop request class from RouteSet constructor.Aaron Patterson2015-03-041-4/+7
| | | | | If you would like to use a custom request class, please subclass and implemet the `request_class` method.
* Tiny documentation edits [ci skip]Robin Dupret2015-03-031-1/+1
|
* Merge pull request #18775 from yasyf/issue_5122Rafael Mendonça França2015-03-032-1/+5
|\ | | | | | | Fallback to RAILS_RELATIVE_URL_ROOT in `url_for`
| * Fallback to RAILS_RELATIVE_URL_ROOT in `url_for`.Yasyf Mohamedali2015-02-242-1/+5
| | | | | | | | | | | | Fixed an issue where the `RAILS_RELATIVE_URL_ROOT` environment variable is not prepended to the path when `url_for` is called. If `SCRIPT_NAME` (used by Rack) is set, it takes precedence.
* | Merge pull request #19147 from gsamokovarov/work-around-ruby-10695Eileen M. Uchitelle2015-03-022-2/+4
|\ \ | | | | | | Work around for upstream Ruby bug #10685
| * | Work around for upstream Ruby bug #10685Genadi Samokovarov2015-03-012-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In f6e293ec54f02f83cdb37502bea117f66f87bcae we avoided a segfault in the tests, however I think we should try to avoid the crash, as it may happen in user code as well. Here is what I distiled the bug down to: ```ruby # Rails case - works on 2.0, 2.1; crashes on 2.2 require 'action_dispatch' ActionDispatch::Response.new(200, "Content-Type" => "text/xml") # General case - works on 2.0, 2.1; crashes on 2.2 def foo(optional = {}, default_argument: nil) end foo('quux' => 'bar') ```
* | | Merge pull request #15806 from tgxworld/partition_routes_during_setupAaron Patterson2015-03-022-8/+13
|\ \ \ | | | | | | | | Partition routes during setup.
| * | | Partition routes during setup.Guo Xiang Tan2015-02-262-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Partitioning of all the routes is currently being done during the first request. Since there is no need to clear the cache for `partitioned_routes` when adding a new route. We can move the partitioning of the routes during setup time.
* | | | Merge pull request #19181 from davydovanton/update-helper-docsZachary Scott2015-03-021-0/+4
|\ \ \ \ | | | | | | | | | | [ci skip] Add documentation for Helpers#all_helpers_from_path
| * | | | [ci skip] Add documentation for Helpers#all_helpers_from_pathAnton Davydov2015-03-031-0/+4
| | | | |
* | | | | be optimistic about missing route keysAaron Patterson2015-03-021-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this patch makes errors slightly more expensive when someone is missing a route key, but in exchange it drops 4 allocations per `url_for` call. Since missing a route key is an error, optimizing for the non-error path seems like a good trade off
* | | | | use arg size for parallel iterationAaron Patterson2015-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | we already know the length of the args, so we can use that length for parallel iteration and cut down on allocations for `url_for` calls.
* | | | | ask the routes objects for its Rack env keyAaron Patterson2015-03-022-1/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | this centralizes the logic for determining the script name key and drops object allocations when calling `engine_script_name` (which is called on each `url_for`).
* | | | refactor `handle_model` to use private helper methods for generationAaron Patterson2015-03-011-8/+6
| | | |
* | | | drop allocations for string and class polymorphic routesAaron Patterson2015-03-011-3/+3
| | | |
* | | | drop string allocations per model url_for call in viewsAaron Patterson2015-03-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```ruby article = Article.new.tap(&:save!) view.url_for article result = ObjectSpace::AllocationTracer.trace do 3000.times { view.url_for article } end p ObjectSpace::AllocationTracer.allocated_count_table[:T_STRING] / 3000 ```
* | | | move _generate_paths_by_default to where it is usedAaron Patterson2015-03-011-6/+0
| | | | | | | | | | | | | | | | | | | | _generate_paths_by_default wasn't used in AD::Routing::UrlFor, so we should be able to move it where it is used in AV::Routing
* | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-03-013-3/+20
|\ \ \ \ | |_|/ / |/| | |
| * | | Explained how to set session expiry through session_store configIain Beeston2015-02-273-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | Most session stores offer an :expire_after option, but it's largely undocumented. Cookie store also supports a number of options via rack (these used to be documented in rails 2.3)
* | | | drop allocations when handling model url generationAaron Patterson2015-02-281-1/+1
| | | |
* | | | Removed non-standard and unused require 'active_support/deprecation' from ↵Vipul A M2015-02-272-3/+0
| | | | | | | | | | | | | | | | parts out of active_support.
* | | | Merge pull request #19104 from y-yagi/fix_skip_filterCarlos Antonio da Silva2015-02-271-1/+1
|\ \ \ \ | | | | | | | | | | fix NameError in `skip_filter`. callback doesn't exist.
| * | | | fix NameError in `skip_filter`. callback doesn't exist.yuuji.yaginuma2015-02-271-1/+1
| | | | |
* | | | | Revert integration test refactoring that caused app test regressionsJeremy Kemper2015-02-261-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Haven't diagnosed yet. No similarly failing tests in Rails to work from. cc @tenderlove, @eileencodes Revert "there is always an integration session, so remove the check" Revert "lazily create the integration session" Revert "use before_setup to set up test instance variables" This reverts commits 4cf3b8ac47f109fa83a6f66eb97d6cb0eace0d05, 303567e554de26822f3107be55c471d6477a745f, and fa63448420d3385dbd043aca22dba973b45b8bb2.
* | | | | Revert "Merge pull request #18764 from tsun1215/master"Jeremy Kemper2015-02-261-1/+0
|/ / / / | | | | | | | | | | | | | | | | This reverts commit b6dd0c4ddebf5e7aab0a669915cb349ec65e5b88, reversing changes made to de9a3748c436f849dd1877851115cd94663c2725.
* | | | Merge pull request #18434 from brainopia/change_filter_on_rails_info_routesRichard Schneeman2015-02-263-89/+67
|\ \ \ \ | |_|/ / |/| | | Change filter on /rails/info/routes to use an actual path regexp from rails
| * | | Change filter on /rails/info/routes to use an actual path regexp from railsbrainopia2015-02-233-89/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change filter on /rails/info/routes to use an actual path regexp from rails and not approximate javascript version. Oniguruma supports much more extensive list of features than javascript regexp engine. Fixes #18402.
* | | | Fix default headers in test responsesJeremy Kemper2015-02-253-18/+5
| |_|/ |/| | | | | | | | | | | | | | | | | Fixes regression in #18423. Merge default headers for new responses, but don't merge when creating a response from the last session request. hat tip @senny :heart:
* | | Merge pull request #19060 from iainbeeston/deprecate-skip-action-callbackRafael Mendonça França2015-02-241-0/+1
|\ \ \ | |/ / |/| | Deprecate `AbstractController::Callbacks#skip_action_callback`
| * | Deprecate `AbstractController::Callbacks#skip_action_callback`Iain Beeston2015-02-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of #19029, in future `skip_before_action`, `skip_after_action` and `skip_around_action` will raise an ArgumentError if the specified callback does not exist. `skip_action_callback` calls all three of these methods and will almost certainly result in an ArgumentError. If anyone wants to remove all three callbacks then they can still call the three individual methods. Therefore let's deprecate `skip_action_callback` now and remove it when #19029 is merged.
* | | fix method name in mime type example. `Mime::Type.[]` doesn't exist. [ci skip]yuuji.yaginuma2015-02-231-1/+1
|/ /