aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
...
* | remove the setter from `Scope`Aaron Patterson2015-08-081-4/+0
| | | | | | | | it isn't used.
* | Merge pull request #21167 from AaronLasseigne/use_each_keyKasper Timm Hansen2015-08-081-1/+1
|\ \ | | | | | | replace each with each_key when only the key is needed
| * | replace each with each_key when only the key is neededAaron Lasseigne2015-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using each_key is faster and more intention revealing. Calculating ------------------------------------- each 31.378k i/100ms each_key 33.790k i/100ms ------------------------------------------------- each 450.225k (± 7.0%) i/s - 2.259M each_key 494.459k (± 6.3%) i/s - 2.467M Comparison: each_key: 494459.4 i/s each: 450225.1 i/s - 1.10x slower
* | | Refactor route assertion methods in resources testeileencodes2015-08-081-50/+51
| | | | | | | | | | | | | | | | | | | | | | | | The tests and methods were hard to read with `options[:options]` all over the place. This refactoring makes the code easier to understand. The change came out of work for moving the underlying code of controller tests to integraiton tests.
* | | Merge pull request #11352 from xaviershay/dispatcher-apiRafael Mendonça França2015-08-084-21/+23
|\ \ \ | | | | | | | | Allow a custom dispatcher to be provided to routing.
| * | | Allow a custom dispatcher to be provided to routing.Xavier Shay2015-08-074-19/+17
| | | |
| * | | Move `controller_reference` and `controller_class_names` to protectedXavier Shay2015-08-071-2/+6
| | | | | | | | | | | | | | | | scope so that they are available to subclasses.
* | | | Fix deprecation warning in testseileencodes2015-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the string version of the class reference is now deprecated when referencing middleware. This should be written as a class not as a string. Deprecation warning that this change fixes: ``` DEPRECATION WARNING: Passing strings or symbols to the middleware builder is deprecated, please change them to actual class references. For example: "ActionDispatch::ShowExceptions" => ActionDispatch::ShowExceptions ```
* | | | Rename `extra_keys` variables to `query_string_keys`eileencodes2015-08-082-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | `extra_keys` is a confusing variable name because it's not clear what is "extra". This renames it to `query_string_keys` so it's clear that the "extra" is just the query string.
* | | | Refactor to remove DrawOnce moduleeileencodes2015-08-081-27/+8
|/ / / | | | | | | | | | | | | | | | We were doing extra work that could be pushed off to Integration test and SharedRoutes. Creating an extra module isn't necessary when those are created by their respective classes.
* | | deprecate the env method on controller instancesAaron Patterson2015-08-073-2/+4
| | | | | | | | | | | | | | | | | | people should be accessing request information through the request object, not via the env hash. If they really really want at the env hash, then they can get it off the request.
* | | the request object manages `env`Aaron Patterson2015-08-071-2/+0
| | | | | | | | | | | | | | | remove the setter. The request object manages the env hash, so any mutations need to go through it
* | | remove vestigial codeAaron Patterson2015-08-072-82/+0
| | | | | | | | | | | | | | | Looks like this was left over from converting Rails to Rack. I think it's safe to remove now.
* | | stop using @_env in the controller instanceAaron Patterson2015-08-074-5/+12
| | | | | | | | | | | | | | | | | | | | | Actions are processed through `dispatch`, so they should have the request set on them before any user land code can be executed. Lets stop setting _env on the controller, and give access to it through the `env` method.
* | | finish deprecating handling strings and symbolsAaron Patterson2015-08-076-80/+24
| | | | | | | | | | | | | | | since we only work with instances of classes, it greatly simplifies the `Middleware` implementation.
* | | Using strings or symbols for middleware class names is deprecated.Aaron Patterson2015-08-076-50/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert things like this: middleware.use "Foo::Bar" to this: middleware.use Foo::Bar
* | | move `valid?` conditional to the constructorAaron Patterson2015-08-071-11/+21
| | | | | | | | | | | | | | | use a strategy pattern to calculate the conditional in `valid?` in advance.
* | | simplify the Middleware constructorAaron Patterson2015-08-073-57/+54
| | | | | | | | | | | | | | | | | | We should do the hard work outside the constructor. Also fix the tests to not directly construct middleware objects, but to go through the stack object.
* | | use Proc.new to reduce some conditionalsAaron Patterson2015-08-071-3/+1
| | | | | | | | | | | | | | | | | | Proc.new will pick up the passed in block, but since it's a default param, it won't get evaluated unless someone doesn't pass in an app. It will raise an exception if no block is provided.
* | | the request class is never changed, so just use it directly in the method bodyAaron Patterson2015-08-072-6/+6
|/ /
* | refactor param parsing middleware to use request objectsAaron Patterson2015-08-072-10/+17
| | | | | | | | | | this is another place that we should stop directly accessing the env hash and let the request object take care of that for us
* | move flash hash access to methods on the request objectAaron Patterson2015-08-071-2/+11
| |
* | Merge pull request #21153 from grosser/grosser/portsRafael Mendonça França2015-08-062-1/+24
|\ \ | | | | | | do not add common ports to HTTP_HOST
| * | do not add common ports to HTTP_HOSTMichael Grosser2015-08-062-1/+24
| | | | | | | | | | | | | | | - webservers do not do it - it makes redirect urls ugly when request.host is used for redirection
* | | Fix documentation on ActionDispatch::RequestGabriel Sobrinho2015-08-061-1/+1
|/ /
* | use a request object to access info from env in GetIpAaron Patterson2015-08-062-11/+19
| | | | | | | | | | | | | | again, we want to hide the contents of `env` from the implementation. Allocate a request object to access the contents of env, but save allocations due to string literal allocations when accessing the env hash.
* | ask the request if we should show exceptionsAaron Patterson2015-08-063-4/+13
| | | | | | | | | | hide the env key in the request object so that other code doesn't need to know.
* | ExceptionWrapper doesn't need to know about `env`Aaron Patterson2015-08-064-26/+22
| | | | | | | | | | | | ExceptionWrapper only cares about the backtrace cleaner, so lets just pass the cleaner to the wrapper. It does not need to know that env exists or what key the backtrace cleaner is stored in
* | prevent string allocationsAaron Patterson2015-08-061-1/+1
| |
* | reuse the request object in the File serving middlewareAaron Patterson2015-08-061-9/+13
| | | | | | | | | | | | | | Implement `serve` on the middleware. Nothing can be placed between the instance of FileHandler and Static because Static instantiates an instance of FileHandler. IOW there is no reason to implement the `call` API in this case.
* | get the underlying REQUEST_METHOD from the superclassAaron Patterson2015-08-061-1/+1
| |
* | use a request object to reduce string allocations and not know about ENV keysAaron Patterson2015-08-062-7/+8
| |
* | Merge pull request #21061 from yui-knk/refactor/route_setRafael Mendonça França2015-08-061-4/+2
|\ \ | | | | | | Remove duplicated `Array#to_param`
| * | Remove duplicated `Array#to_param`yui-knk2015-08-011-4/+2
| | | | | | | | | | | | | | | `Array#to_param` is defind in active_support/core_ext/object/to_query.rb, so we can call `to_param` if value is_a Array.
* | | Merge pull request #21131 from eagletmt/percent-filenameRafael Mendonça França2015-08-063-1/+28
|\ \ \ | | | | | | | | Fix Encoding::UndefinedConversionError with multibyte UTF-8 filename containing "%" character
| * | | Assume uploaded filename is UTF-8Kohei Suzuki2015-08-051-1/+7
| | | |
| * | | Add failing spec on utf8 filename with percent characterKohei Suzuki2015-08-042-0/+21
| | |/ | |/|
* | | Adds missing argument handling for ActionController::TestSession toMatthew Gerrior2015-08-063-0/+23
| | | | | | | | | | | | allow testing controllers that use session#fetch with a default value.
* | | remove dead codeAaron Patterson2015-08-061-5/+0
| | | | | | | | | | | | | | | we don't recycle requests anymore, so we shouldn't need to recycle cookie jars
* | | ask the request for the cookie jarAaron Patterson2015-08-061-1/+8
| | | | | | | | | | | | this prevents the middleware from knowing the specific key for the jar
* | | add a setter for the cookie jarAaron Patterson2015-08-062-2/+8
| | |
* | | remove request reference from chained jarsAaron Patterson2015-08-061-22/+25
| | | | | | | | | | | | | | | This changes the chained jars to ask the parent jar for the request object which should eventually call back up to the original jar
* | | remove `@host` ivarAaron Patterson2015-08-052-13/+5
| | |
* | | remove @secure ivarAaron Patterson2015-08-052-7/+4
| | |
* | | CookieJar does not need the key_generator parameter anymoreAaron Patterson2015-08-052-5/+3
| | |
* | | eliminate key_generator ivarAaron Patterson2015-08-051-11/+14
| | |
* | | sop passing host and secure to the build methodAaron Patterson2015-08-052-3/+5
| | | | | | | | | | | | | | | eventually we will make the cookie jar derive these values from the request object rather than save a reference to the values
* | | stop using an options hash with the cookie jarAaron Patterson2015-08-052-39/+31
| | | | | | | | | | | | | | | | | | | | | | | | The cookie jar can just ask the request object for the information it needs. This allows us to stop allocating hashes for options, and also allows us to delay calculating values in advance. Generating the options hash forced us to calculate values that we may never have needed at runtime
* | | move env access to the request object.Aaron Patterson2015-08-053-16/+48
| | | | | | | | | | | | | | | | | | Accessing a request object has nice advantages over accessing a hash. If you use a missing method name, you'll get an exception rather than a `nil` (is one nice feature)
* | | routes in the env via the request objectAaron Patterson2015-08-051-0/+4
| | |