| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Fix state leak.
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | | |
ActionController::Parameters#require now accepts FalseClass values
|
|/ /
| |
| |
| | |
Fixes #15685.
|
|\ \
| | |
| | | |
Set flash in test session when necessary.
|
| | |
| | |
| | |
| | | |
`to_session_value` returns nil when empty.
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
The 401 status should be set first because setting the response body in
a live controller also closes the response to further changes.
Fixes #14229.
|
| |
| |
| |
| | |
.. even when the producer is blocked for a write.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We cannot cache keys because arrays are mutable. We rather want to cache
the arrays. This behaviour is tailor-made for the usage pattern strongs
params is designed for.
In a forthcoming commit I am going to add a test that covers why we need
to cache by value.
Every strong params instance has a live span of a request, the cache goes
away with the object. Since strong params have such a concrete intention,
it would be interesting to see if there are actually any real-world use
cases that are an actual leak, one that practically may matter.
I am not convinced that the theoretical leak has any practical consequences,
but if it can be shown there are, then I believe we should either get rid of
the cache (which is an optimization), or else wipe it in the mutating API.
This reverts commit e63be2769c039e4e9ada523a8497ce3206cc8a9b.
|
| | |
|
|/ |
|
|
|
| |
Per convention, underscore-only argument names should be used for unused parameters.
|
|
|
|
|
|
| |
memory leak demonstrated on @tenderlove's latest blog post:
http://tenderlovemaking.com/2014/06/02/yagni-methods-are-killing-me.html
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* constraints:
rm reset_parameters because we automatically do it from 9ca4839a
move path_parameter encoding check to the request object
dispatcher doesn't need `call` anymore
call `serve` with the request on dispatchers
constraints class does not need the request class anymore
give all endpoints a superclass
skip the build business if the stack is empty
stop hardcoding path_parameters and get it from the request
we do not need to cache rack_app
a redirect is not a dispatcher by definition, so eliminate test
push is_a check up to where the Constraints object is allocated
pass the request object to the application
pass a request to `matches?` so we can avoid creating excess requests
nothing is passed to `rack_app` anymore, so rm the params
one fewer is_a check
Constraints#app should never return another Constraints object, so switch to if statement
eliminate dispatcher is_a checks
push is_a?(Dispatcher) check in to one place
Always construct route objects with Constraint objects
Conflicts:
actionpack/lib/action_controller/metal.rb
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Remove duplicated to_s method call.
|
| |/ |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Check authentication scheme in Basic auth
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`authenticate_with_http_basic` and its families should check the authentication
schema is "Basic".
Different schema, such as OAuth2 Bearer should be rejected by basic auth, but
it was passing as the test shows.
This fixes #10257.
|
| | |
|
| |
| |
| |
| | |
'head :ok'
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Add controller and action name to the fragment caching instrumentation payload
Conflicts:
actionpack/CHANGELOG.md
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
improved tests.
|
| | | |
|
|/ /
| |
| |
| | |
[ci skip]
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
ActionController::Renderers::RENDERERS is an instance of Set. Docs incorrectly
state that it's a Hash.
|
| | |
|
| |
| |
| |
| | |
Include proper module since AV was extracted form AP as mentioned in #14659.
|
| | |
|
| |
| |
| | |
- accepts_nested_attribute_for -> accepts_nested_attributes_for
|
| | |
|
| | |
|
| |
| |
| |
| | |
update the tests, using an if-else
|
| |
| |
| |
| |
| |
| | |
avoid freezing the headers until the web server has actually read data
from the body proxy. Once the webserver has read data, then we should
throw an error if someone tries to set a header
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
when streaming responses, we need to make sure the cookie jar is written
to the headers before returning up the stack. This commit introduces a
new method on the response object that writes the cookie jar to the
headers as the response is committed. The middleware and test framework
will not write the cookie headers if the response has already been
committed.
fixes #14352
|