aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Remove useless conditionalAaron Patterson2015-07-101-12/+0
| | | | | | | | | | | | | | | | | | | | PATH_INFO is already set, so this branch will never execute.
* | | | | default `PATH_INFO` to the generated pathAaron Patterson2015-07-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we were already generating a path in the previous code (it was just not returned), so lets just use the already computed path to popluate the PATH_INFO header
* | | | | always default the SCRIPT_NAME to whatever is on the controllerAaron Patterson2015-07-101-1/+1
| | | | |
* | | | | remove useless ivar clearingAaron Patterson2015-07-101-6/+0
| | | | | | | | | | | | | | | | | | | | Since we only work with new instances, these ivars will not be set.
* | | | | call the `path_parameters=` setter rather than rely on mutationsAaron Patterson2015-07-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | We should call the setter on `path_parameters` so that we know the hash will only contain the values that we've set.
* | | | | start collecting `env` mutationsAaron Patterson2015-07-101-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | I'd like to put all env mutations together so we can understand how to change this code to call `call` on the controller
* | | | | Parameters are converted to a query stringAaron Patterson2015-07-101-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Since parameters are converted to a query string, they will automatically be turned in to strings by the query parser
* | | | | no more HWIAAaron Patterson2015-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | non_path_parameters is used internally (it never escapes this method) so we should be able to safely use a regular hash.
* | | | | remove param dup'ing logicAaron Patterson2015-07-101-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | since we are serializing parameters, we don't need to do all the dup checks on each object.
* | | | | encode / decode parameters before assigning them to the requestAaron Patterson2015-07-101-5/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should roundtrip the parameters through their respective encoders / decoders so that the controller will get parameters similar to what they actually get in a real world situation
* | | | | start disconnecting the parameter parser from the instanceAaron Patterson2015-07-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | pass in the instance variable to start decoupling the meat of the parser from the instance of the middleware
* | | | | drop a conditional by always assigningAaron Patterson2015-07-101-6/+5
| |/ / / |/| | | | | | | | | | | | | | | We will always make an assignment to the env hash and eliminate a conditional
* | | | drop runtime conditionals in parameter parsingAaron Patterson2015-07-091-13/+9
| | | | | | | | | | | | | | | | | | | | If we only deal with proc objects, then we can eliminate type checking in the parameter parsing middleware
* | | | use `Rack::Test::UploadedFile` when uploading filesAaron Patterson2015-07-091-2/+2
| | | | | | | | | | | | | | | | | | | | We should use rack-test's upload file objects on the test side so that we will be able to correctly generate mime blob posts in the future
* | | | set parameters as a query stringAaron Patterson2015-07-092-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | We should convert request parameters to a query string, then let the request object parse that query string. This should give us results that are more similar to the real-world
* | | | use JSON to communicate between the controller and the testsAaron Patterson2015-07-091-12/+12
| | | |
* | | | build and assign parameters rather than rely on mutationsAaron Patterson2015-07-082-4/+18
| | | | | | | | | | | | | | | | | | | | We should assign parameters to the request object rather than mutate the hash that is returned by `query_parameters` or `request_parameters`
* | | | assign the cookie hash on request allocationAaron Patterson2015-07-082-2/+2
| | | | | | | | | | | | | | | | this prevents mutations from being available globally
* | | | request objects are no longer recycledAaron Patterson2015-07-082-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | Instead of trying to manually clear out a request object, lets just allocate a new one. The rack ENV is reused and cleaned (still), but the request object is not.
* | | | pass the variant as a parameter to more reflect real world appsAaron Patterson2015-07-081-3/+3
| | | |
* | | | add a new constructor for allocating test requestsAaron Patterson2015-07-084-29/+31
| | | |
* | | | make `env` a required parameterAaron Patterson2015-07-082-7/+7
| | | |
* | | | pass the starting env and session to build_requestAaron Patterson2015-07-082-4/+4
| | | |
* | | | remove call to build_requestAaron Patterson2015-07-081-1/+0
| | | |
* | | | pass the session and env in to the test requestAaron Patterson2015-07-081-4/+8
| | | |
* | | | let the superclass build the request and responseAaron Patterson2015-07-0811-48/+14
| | | | | | | | | | | | | | | | | | | | We should leverage the request / response objects that the superclass has already allocated for us.
* | | | remove useless `new` implementationAaron Patterson2015-07-081-4/+0
| | | |
* | | | allocate new responses rather than recycling themAaron Patterson2015-07-081-12/+5
|/ / / | | | | | | | | | | | | There is no reason to "recycle" response objects when we can just allocate a new one.
* | | pass variants in rather than mutating the request.Aaron Patterson2015-07-071-48/+31
| | | | | | | | | | | | | | | | | | Variants are typically set in the controller based on some attribute of the request that the browser sent. We should make our tests more in line with reality by doing the same and not mutating the request object.
* | | pass cookies from the jar in the HTTP_COOKIE headereileencodes2015-07-073-19/+11
| | | | | | | | | | | | | | | we should be pushing the cookies in via headers rather than maintaining some object and "recycling" it.
* | | Send cookies with requesteileencodes2015-07-073-2/+9
| | |
* | | Merge pull request #13897 from gmalette/nested-parameter-filtering-2Arthur Nogueira Neves2015-07-063-7/+28
|\ \ \ | | | | | | | | Allow filtering params based on parent keys
| * | | Allow filtering params based on parent keysGuillaume Malette2015-06-223-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the possibility to only filter parameters based on their full path instead of relying on the immediate key. config.filter_parameters += ['credit_card.code'] { 'credit_card' => { 'code' => '[FILTERED]' }, 'source' => { 'code' => '<%= puts 5 %>' } }
* | | | Merge pull request #20782 from kaspth/fix-controller-caching-testMatthew Draper2015-07-061-0/+1
|\ \ \ \ | | | | | | | | | | Fix the random caching test failure. (Take two)
| * | | | Fix the random caching test failure.Kasper Timm Hansen2015-07-051-0/+1
| | | | |
* | | | | Refactor cookie_jar to decouple it from request objecteileencodes2015-07-051-7/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | This change decouples `cookie_jar` allocation from the request object. We need this for moving controller tests to integration tests so we can access the `cookie_jar` object separately.
* | | / [ci skip] Don't use TrueClass, FalseClass in docsclaudiob2015-07-021-6/+0
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | This sort of documentation style comes from 2009, probably due to the merging of merb (see https://github.com/rails/rails/commit/38b608ecab2441cd0c4e75bc08bdf57fcf85dd71#diff-017d9bc9b1d2bdae199b938d72c15488R120). Rails follows Ruby's convention to define which values are "truthy" or "falsey", so there is no need to specify that the returned value must strictly be a TrueClass or FalseClass. /cc @fxn
* | | [ci skip] Improve the url_for documentationRoque Pinel2015-07-011-3/+19
| |/ |/| | | | | | | | | | | | | | | Clarify the `url_for` usage in mailers. Re-add the documentation about `url_for` and Route's path parameters, first introduced by 5c4f1859970d06228a0b67cad6d4486c1526ef2a. This was reported on #15097 and until it is decided to deprecate it or not, I believe the documentation should exist.
* | Improve error messages in cookies_testeileencodes2015-06-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using `assert_predicate` and `assert_match` instead of just `assert` is preferrable because better error messages are output. In the case of `assert response.cookies.empty?` the error message was `Failed assertion, no message given.` but now with `assert_predicate` it will be `Expected {"user_name"=>"david"} to be empty?.` For `assert_match(/user_name=david/, response.headers["Set-Cookie"])` as well, the message returned was unhelpful - `Failed assertion, no message given.` but now will tell what was expected and what was returned with `Expected /user_name=david/ to match "user_name=nope; path=/".`
* | Merge pull request #20276 from davetron5000/revert-head-on-no-templateKasper Timm Hansen2015-06-272-2/+38
|\ \ | | | | | | Allow default_render to take a block to customize behavior when there's no template
| * | Override default_render's behavior with a blockDave Copeland2015-06-202-2/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 0de4a23 the behavior when there is a missing template was changed to not raise an error, but instead head :no_content. This is a breaking change and some gems rely on this happening. To allow gems and other code to work around this, allow `default_render` to take a block which, if provided, will execute the contents of that block instead of doing the `head :no_content`.
* | | Merge pull request #20664 from vngrs/remove_mistaken_end_from_docClaudio B.2015-06-221-1/+1
|\ \ \ | | | | | | | | Remove mistaken end from controller_path doc [ci skip]
| * | | Remove mistaken end from controller_path doc [ci skip]Mehmet Emin İNAÇ2015-06-221-1/+1
| | |/ | |/|
* | | Merge pull request #19431 from hmarr/head-routingRafael Mendonça França2015-06-222-4/+4
|\ \ \ | |/ / |/| | Respect routing precedence for HEAD requests
| * | Respect routing precedence for HEAD requestsHarry Marr2015-03-202-4/+4
| | | | | | | | | | | | | | | | | | | | | Fixes the issue described in #18764 - prevents Rack middleware from swallowing up HEAD requests that should have been matched by a higher-precedence `get` route, but still allows Rack middleware to respond to HEAD requests.
* | | Merge pull request #20659 from ↵Yves Senn2015-06-221-2/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | vngrs/strong_parameters_unpermitted_parameters_wrong_doc_fix Fix the documentation about ActionController::UnpermittedParameters [ci skip]
| * | | Fix the documentation about ActionController::UnpermittedParameters [ci skip]Mehmet Emin İNAÇ2015-06-221-2/+4
|/ / /
* | / Fix the documentation about ActionController::ParameterMissing [ci skip]Mehmet Emin İNAÇ2015-06-221-5/+5
| |/ |/|
* | Revert "Merge pull request #20584 from arthurnn/fix_url"Arthur Neves2015-06-173-19/+4
| | | | | | | | | | | | | | | | This reverts commit 0b3397872582f2cf1bc6960960a6393f477c55e6, reversing changes made to 56d52e3749180e6c1dcf7166adbad967470aa78b. As pointed out on the PR, this will hide development mistakes too, which is not ideal.
* | Merge pull request #20584 from arthurnn/fix_urlArthur Nogueira Neves2015-06-163-4/+19
|\ \ | | | | | | Catch InvalidURIError on bad paths on redirect.