aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal
Commit message (Collapse)AuthorAgeFilesLines
* Add Missing Keys from Journey on failed URL formatschneems2012-08-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | Many named routes have keys that are required to successfully resolve. If a key is left off like this: <%= link_to 'user', user_path %> This will produce an error like this: No route matches {:action=>"show", :controller=>"users"} Since we know that the :id is missing, we can add extra debugging information to the error message. No route matches {:action=>"show", :controller=>"users"} missing required keys: [:id] This will help new and seasoned developers look closer at their parameters. I've also subclassed the routing error to be clear that this error is a result of attempting to generate a url and not because the user is trying to visit a bad url. While this may sound trivial this error message is misleading and confuses most developers. The important part isn't what's in the options its's what's missing. Adding this information to the error message will make debugging much more obvious. This is the sister pull request of https://github.com/rails/journey/pull/44 which will be required to get they missing keys into the correct error message. Example Development Error in Rails: http://cl.ly/image/3S0T0n1T3421
* No need to use included hook for includePiotr Sarnacki2012-08-281-3/+1
| | | | | When module is extended ActiveSupport::Concern, include calls are lazily loaded, so there is no need to wrap it with included hook.
* Remove dependency on actionpack in ActionView::AssetPathsPiotr Sarnacki2012-08-281-0/+15
| | | | | | Since Action View should not depend on actionpack, it's best to delegate invalid_asset_host! to controller and just rely on such simple contract instead of raising ActionController::RoutingError directly.
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-161-2/+2
|\
| * Minor language fix. [ci skip]Erich Menge2012-08-151-2/+2
| |
* | push header merge down to a private method so that live responses can have ↵Aaron Patterson2012-08-131-5/+4
| | | | | | | | their own header object
* | live response headers can be merged with a hashAaron Patterson2012-08-131-0/+4
| |
* | Missing closing tagEllis Berner2012-08-121-1/+1
| |
* | Fix handling SCRIPT_NAME from within mounted engine'sPiotr Sarnacki2012-08-111-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you mount your application at a path, for example /myapp, server should set SCRIPT_NAME to /myapp. With such information, rails application knows that it's mounted at /myapp path and it should generate routes relative to that path. Before this patch, rails handled SCRIPT_NAME correctly only for regular apps, but it failed to do it for mounted engines. The solution was to hardcode default_url_options[:script_name], which is not the best answer - it will work only when application is mounted at a fixed path. This patch fixes the situation by respecting original value of SCRIPT_NAME when generating application's routes from engine and the other way round - when you generate engine's routes from application. This is done by using one of 2 pieces of information in env - current SCRIPT_NAME or SCRIPT_NAME for a corresponding router. This is because we have 2 cases to handle: - generating engine's route from application: in this situation SCRIPT_NAME is basically SCRIPT_NAME set by the server and it indicates the place where application is mounted, so we can just pass it as :original_script_name in url_options. :original_script_name is used because if we use :script_name, router will ignore generating prefix for engine - generating application's route from engine: in this situation we already lost information about the SCRIPT_NAME that server used. For example if application is mounted at /myapp and engine is mounted at /blog, at this point SCRIPT_NAME is equal /myapp/blog. Because of that we need to keep reference to /myapp SCRIPT_NAME by binding it to the current router. Later on we can extract it and use when generating url Please note that starting from now you *should not* use default_url_options[:script_name] explicitly if your server already passes correct SCRIPT_NAME to rack env. (closes #6933)
* | use a sized buffer to prevent the queue being too largeAaron Patterson2012-08-081-10/+10
| |
* | removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
* | Renamed _path_segments to _recallBogdan Gusiev2012-08-041-1/+1
|/
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-041-1/+1
|\ | | | | | | | | | | Conflicts: activemodel/lib/active_model/secure_password.rb activerecord/lib/active_record/associations/collection_proxy.rb
| * use 'HTTP_AUTHORIZATION' instead of :authorization as key when dealing with ↵Francesco Rodriguez2012-07-271-1/+1
| | | | | | | | HTTP Token authentication in integration tests
* | Collapsed dual checks (one for content headers and one for content) into a ↵Armand du Plessis2012-08-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | single check. Rails includes a single character body to a head(:no_content) response to work around an old Safari bug where headers were ignored if no body sent. This patch brings the behavior slightly closer to spec if :no_content/204 is explicity requested via a head only response. Status comparison done on symbolic and numeric values Not returning any content when responding with head and limited to a status code that explicitly states no content will be returned - 100..199, 204, 205, 304.
* | Merge pull request #7240 from steveklabnik/fix_2301Rafael Mendonça França2012-08-021-1/+1
|\ \ | | | | | | Fix for digest authentication bug - issue #2301 in rails/rails
| * | Fix for digest authentication bug - issue #2301 in rails/railsArthur Smith2012-08-021-1/+1
| | |
* | | load active_support/core_ext/class/attribute in active_support/railsXavier Noria2012-08-026-6/+0
| | |
* | | load active_support/core_ext/object/inclusion in active_support/railsXavier Noria2012-08-021-1/+0
| | |
* | | load active_support/core_ext/object/blank in active_support/railsXavier Noria2012-08-022-2/+0
|/ /
* | Merge pull request #7204 from frodsan/update_conventionsRafael Mendonça França2012-07-311-8/+8
|\ \ | | | | | | Follow code conventions in metal/live
| * | update coding conventions in metal/liveFrancesco Rodriguez2012-07-301-8/+8
| | |
* | | fix nodoc in metal/liveFrancesco Rodriguez2012-07-301-4/+4
|/ /
* | fix typo in metal/live [ci skip]Francesco Rodriguez2012-07-301-6/+6
| |
* | close the response when the response body is set so that normal render calls ↵Aaron Patterson2012-07-291-0/+5
| | | | | | | | will work
* | header hash is duped before being sent up the rack stackAaron Patterson2012-07-291-0/+4
| |
* | freeze the header objectAaron Patterson2012-07-291-0/+5
| |
* | make sure set_response! sets the correct response objectAaron Patterson2012-07-291-0/+9
| |
* | adding a more docs on closing response streamsAaron Patterson2012-07-291-1/+4
| |
* | pushing Buffer up to LiveAaron Patterson2012-07-291-22/+22
| |
* | adding some docsAaron Patterson2012-07-291-1/+26
| |
* | Controller actions are processed in a separate thread for liveAaron Patterson2012-07-291-2/+26
| | | | | | | | | | | | | | | | | | | | responses. Processing controller actions in a separate thread allows us to work around the rack api - we can allow the user to set status and headers, then block until the first bytes are written. As soon as the first bytes are written, the main thread can return the status, headers, and (essentially) a queue for the body.
* | raise exceptions on header set after response committedAaron Patterson2012-07-291-0/+21
| |
* | added live responses which can be written and read in separate threadsAaron Patterson2012-07-291-0/+42
| |
* | * Do not convert digest auth strings to symbols. CVE-2012-3424Aaron Patterson2012-07-261-2/+2
|/ | | | | Conflicts: actionpack/lib/action_controller/metal/http_authentication.rb
* copy-edits 9674d2cXavier Noria2012-07-211-2/+2
|
* Clarification to doc of ActionController::MimeResponse.respond_toShigeya Suzuki2012-07-191-1/+2
| | | | | - #respond_to's documentation refer to .respond_to, but it was written as just <respond_to>. Added class name for clarification.
* Fix code comment to reflect its intent.Selem Delul2012-07-111-1/+1
|
* Don't raise an error if http auth token isn't well formattedPiotr Sarnacki2012-07-111-4/+6
| | | | | | | | | | | | | | When someone sends malformed authorization header, like: Authorization: Token foobar given token should be just ignored and resource should not be authorized, instead of raising error. Before this patch controller would return 401 header only for well formed tokens, like: Authorization: Token token=foobar and would return 500 in former case.
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-07-071-3/+0
|\
| * ActionDispatch::ClosedError no longer is raised. See d142572567 for more info.Nick Howard2012-06-301-3/+0
| |
* | Use "instance_accessor" for flash types class attributeCarlos Antonio da Silva2012-07-071-3/+3
| |
* | Added support add_flash_typeskennyj2012-07-071-8/+23
| |
* | group things that are alikeAaron Patterson2012-07-031-0/+3
| |
* | push functional test specific methods to it's own moduleAaron Patterson2012-07-031-8/+10
| |
* | push the cookie writing stuff out of the controllerAaron Patterson2012-07-031-23/+2
| | | | | | | | merging cookies is responsibility of the test runner
* | extend the controller with special logic on recycleAaron Patterson2012-07-031-10/+25
| | | | | | | | | | | | For some reason, this special logic is only supposed to be executed on the second request. For now, we'll extend on recycle, but we should figure out why this functionality can't be run on every request
* | push req / res setting to the test runnerAaron Patterson2012-07-031-4/+0
| | | | | | | | | | Try to avoid making the controller mutate itself so that we can eventually make the response async
* | extract response setting to a methodAaron Patterson2012-07-031-2/+8
| |
* | push response creation down since third param is never used.Aaron Patterson2012-07-021-3/+3
|/