aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch
Commit message (Collapse)AuthorAgeFilesLines
* raise exceptions on header set after response committedAaron Patterson2012-07-291-0/+19
|
* make sure appropriate headers are set and deletedAaron Patterson2012-07-291-0/+11
|
* added live responses which can be written and read in separate threadsAaron Patterson2012-07-291-0/+34
|
* adding a buffered stream to the response objectAaron Patterson2012-07-291-0/+20
|
* fix failure test 'test_can_wait_until_commit(ResponseTest)' in actionpackVladimir Strakhov2012-07-281-2/+2
|
* threads can wait on responses to be committedAaron Patterson2012-07-271-0/+9
|
* Remove ActionDispatch::Head middleware in favor of Rack::HeadSantiago Pastorino2012-07-231-8/+0
| | | | Closes #7110 there's more work to do on rack-cache issue 69
* Don't assume resource param is :id when using shallow routesAndrew White2012-07-201-0/+12
| | | | | Since #5581 added support for resources with custom params we should not assume that it is :id when using shallow resource routing.
* Support constraints on resource custom params when nestingAndrew White2012-07-201-1/+12
| | | | | | | The Mapper looks for a :id constraint in the scope to see whether it should apply a constraint for nested resources. Since #5581 added support for resource params other than :id, we need to check for a constraint on the parent resource's param name and not assume it's :id.
* Add support for optional root segments containing slashesAndrew White2012-07-171-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optional segments with a root scope need to have the leading slash outside of the parentheses, otherwise the generated url will be empty. However if the route has non-optional elements then the leading slash needs to remain inside the parentheses otherwise the generated url will have two leading slashes, e.g: Blog::Application.routes.draw do get '/(:category)', :to => 'posts#index', :as => :root get '/(:category)/author/:name', :to => 'posts#author', :as => :author end $ rake routes root GET /(:category)(.:format) posts#index author GET (/:category)/author/:name(.:format) posts#author This change adds support for optional segments that contain a slash, allowing support for urls like /page/2 for the root path, e.g: Blog::Application.routes.draw do get '/(page/:page)', :to => 'posts#index', :as => :root end $ rake routes root GET /(page/:page)(.:format) posts#index Fixes #7073
* Raise a helpful error message on #mount misuseCarl Lerche2012-07-101-0/+9
|
* Rename RouteInspector to RoutesInspectorCarlos Antonio da Silva2012-07-081-2/+2
| | | | Follow the consistency defined in dbc43bc.
* move route_inspector to actionpack@schneems and @mattt2012-07-071-0/+170
| | | | this is so we can show route output in the development when we get a routing error. Railties can use features of ActionDispatch, but ActionDispatch should not depend on Railties.
* Prevent conflict between mime types and Object methodsMircea Pricop2012-07-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | Assuming the type ":touch", Collector.new was calling send(:touch), which instead of triggering method_missing and generating a new collector method, actually invoked the private method `touch` inherited from Object. By generating the method for each mime type as it is registered, the private methods on Object can never be reached by `send`, because the `Collector` will have them before `send` is called on it. To do this, a callback mechanism was added to Mime::Type This allows someone to add a callback for whenever a new mime type is registered. The callback then gets called with the new mime as a parameter. This is then used in AbstractController::Collector to generate new collector methods after each mime is registered.
* Remove more tests related to draw external routes filesRafael Mendonça França2012-06-292-51/+1
| | | | Related with 5e7d6bba79393de0279917f93b82f3b7b176f4b5
* Support unicode character route in config/routes.rb.kennyj2012-06-161-2/+2
|
* Fix buildSantiago Pastorino2012-06-131-2/+2
|
* Array parameters should not contain nil values.Aaron Patterson2012-06-121-0/+4
|
* both string and sumbol will be interpolated as string no need to convert to_sganesh2012-06-111-5/+5
|
* Merge branch 'master-sec'Aaron Patterson2012-05-311-1/+6
|\ | | | | | | | | | | * master-sec: Strip [nil] from parameters hash. Thanks to Ben Murphy for reporting this! predicate builder should not recurse for determining where columns. Thanks to Ben Murphy for reporting this
| * Strip [nil] from parameters hash.Aaron Patterson2012-05-301-1/+6
| | | | | | | | | | | | Thanks to Ben Murphy for reporting this! CVE-2012-2660
* | Remove implicit dependency on pathnameJosé Valim2012-05-251-1/+1
| |
* | Added ActionDispatch::Request::Session#keys and ↵Philip Arndt2012-05-231-0/+16
|/ | | | ActionDispatch::Request::Session#values
* Fix bug when Rails.application is defined but is nil. See #881Marc-Andre Lafortune2012-05-211-0/+7
|
* Return 400 Bad Request for URL paths with invalid encoding.Andrew White2012-05-201-0/+31
| | | | | | | | | Passing path parameters with invalid encoding is likely to trigger errors further on like `ArgumentError (invalid byte sequence in UTF-8)`. This will result in a 500 error whereas the better error to return is a 400 error which allows exception notification libraries to filter it out if they wish. Closes #4450
* Raise ActionController::BadRequest for malformed parameter hashes.Andrew White2012-05-204-1/+29
| | | | | | | | | | | | | | Currently Rack raises a TypeError when it encounters a malformed or ambiguous hash like `foo[]=bar&foo[4]=bar`. Rather than pass this through to the application this commit captures the exception and re-raises it using a new ActionController::BadRequest exception. The new ActionController::BadRequest exception returns a 400 error instead of the 500 error that would've been returned by the original TypeError. This allows exception notification libraries to ignore these errors if so desired. Closes #3051
* Raise Assertion instead of RoutingError for routing assertion failures.David Chelimsky2012-05-201-6/+6
| | | | | | | | | | | | | Before this change, assert_recognizes, assert_generates, and assert_routing raised ActionController::RoutingError when they failed to recognize the route. This commit changes them to raise Assertion instead. This aligns with convention for logical failures, and supports reporting tools that care about the difference between logical failures and errors e.g. the summary at the end of a test run. - Fixes #5899
* Add the #unshift method to the middleware stackRich Healey2012-05-181-2/+7
| | | | | | The docs suggest that the middleware stack is an Array, so I've added the unshift method to it. Originally I added some more Array methods, but it was agreed that they lacked usecases.
* add tests and external file backtrace for Routing::Mapper#drawKornelius Kalnbach2012-05-151-0/+49
|
* Copy literal route constraints to defaults - fixes #3571 and #6224.Andrew White2012-05-112-3/+45
|
* Don't ignore nil positional arguments for url helpers - fixes #6196.Andrew White2012-05-101-0/+35
|
* Refactor Generator class to not rely on in-place editing the controllerAndrew White2012-05-091-6/+6
|
* Fix bug when url_for changes controller.Nikita Beloglazov2012-05-091-0/+9
|
* Add passing tests for generating URLs with nested SCRIPT_NAMEsJeremy Kemper2012-05-072-3/+17
|
* Fix that optimized named routes should also work as singleton methods on the ↵Jeremy Kemper2012-05-061-0/+24
| | | | url_helpers module
* Force given path to http methods in mapper to skip canonical action checkingCarlos Antonio da Silva2012-05-041-1/+8
| | | | | | | | | | | | | | | This fixes the following scenario: resources :contacts do post 'new', action: 'new', on: :collection, as: :new end Where the /new path is not generated because it's considered a canonical action, part of the normal resource actions: new_contacts POST /contacts(.:format) contacts#new Fixes #2999
* Merge branch 'master' into sessionAaron Patterson2012-05-042-0/+24
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (55 commits) extract deprecated dynamic methods Add some docs and changelog entry Allow overriding exception handling in threaded consumer Allow configuring a different queue consumer actually don't need to expand the aggregates at all #to_sym is unnecessary de-globalise method extract code from AR::Base clean up implementation of dynamic methods. use method compilation etc. Fix ActiveModel README example mention database mapping in getting started guide Remove vestiges of the http_only! config from configuring guide Remove content-length as well Make ActionController#head pass rack-link RouteSet: optimize routes generation when globbing is used Allows assert_redirected_to to accept a regular expression use extract_options! No need to force conversion to Symbol since case ensures it's already one. No need to work around 1.8 warnings anymore. Update command line guide ...
| * Reset the request parameters after a constraints checkAndrew White2012-05-021-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | A callable object passed as a constraint for a route may access the request parameters as part of its check. This causes the combined parameters hash to be cached in the environment hash. If the constraint fails then any subsequent access of the request parameters will be against that stale hash. To fix this we delete the cache after every call to `matches?`. This may have a negative performance impact if the contraint wraps a large number of routes as the parameters hash is built by merging GET, POST and path parameters. Fixes #2510.
| * Enable ActionDispatch::Http::Headers to support fetchMark Turner2012-05-021-0/+5
| |
* | testing session store behaviorAaron Patterson2012-05-022-0/+104
|/
* Dont stream back cookie value if it was set to the same valuebrainopia2012-04-301-0/+12
|
* Dont set cookie header for deletion of unexisting databrainopia2012-04-301-8/+24
|
* Restore interpolation of path option in redirect routesAndrew White2012-04-291-1/+32
|
* Escape interpolated params when redirecting - fixes #5688Andrew White2012-04-291-0/+29
|
* Fix the buildYehuda Katz2012-04-251-1/+2
|
* Merge pull request #5980 from gazay/valid_ipsJeremy Kemper2012-04-251-20/+114
|\ | | | | Remote ip logic and validation. IPv6 support.
| * Valid ips v4 and v6. Right logic for working with X-FORWARDED-FOR header and ↵Alexey Gaziev2012-04-251-20/+114
| | | | | | | | tests.
* | Remove default match without specified methodJose and Yehuda2012-04-2413-87/+87
|/ | | | | | | | | | | | | | | | In the current router DSL, using the +match+ DSL method will match all verbs for the path to the specified endpoint. In the vast majority of cases, people are currently using +match+ when they actually mean +get+. This introduces security implications. This commit disallows calling +match+ without an HTTP verb constraint by default. To explicitly match all verbs, this commit also adds a :via => :all option to +match+. Closes #5964
* adds delegetion for eof? to AD::Http::UploadedFileJens Fahnenbruck2012-03-271-0/+6
| | | | | if you want to read the file you may need to ask if there is something to read from
* Allow a defining custom member field on resourcesJamie Macey2012-03-251-0/+18
| | | | | | | | | | By default, resources routes are created with :resource/:id. A model defining to_param can make prettier urls by using something more readable than an integer ID, but since the route picks it up as :id you wind up with awkward User.find_by_username(params[:id]) calls. By overriding the key to be used in @request.params you can be more obvious in your intent.