| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/ / |
|
| |
| |
| |
| |
| |
| | |
This method is being used in `#xml_http_request`, but was not properly
required. This causes `NoMethodError` on projects that are doing
integration test.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Windows
* https://github.com/rails/rails/issues/19187
* https://github.com/rails/rails/pull/19533
* https://github.com/macournoyer/thin/issues/268
These are serious Rails 4 regression for Redmine Bitnami Windows users.
https://community.bitnami.com/t/problems-with-3-0-1-installation-see-report-inside/30195/
It is not caused on webrick users.
Related:
* https://github.com/rack/rack/issues/732#issuecomment-67677272
* https://github.com/phusion/passenger/issues/1328
|
|\ \
| | |
| | | |
A shorter and more concise version of select..size
|
| | | |
|
|\ \ \
| | | |
| | | | |
avoid error when sort mixture keys in symbol and string
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
it is avoid sort errot within different and mixed keys.
used `sort_by` + `block` to list parameter by keys.
keep minimum changes
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Recently rack was changed to have a second argument on the `parse_query`
method (in rack/rack#781). Rails relies on this and it's `parse_query`
method was complaining about missing the second argument. I changed the
arguments to `*` so we don't have this issue in the future.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Wrapping an array in an `ArrayInquirer` gives a friendlier way to check its
string-like contents. For example, `request.variant` returns an `ArrayInquirer`
object. To check a request's variants, you can call:
request.variant.phone?
request.variant.any?(:phone, :tablet)
...instead of:
request.variant.include?(:phone)
request.variant.any? { |v| v.in?([:phone, :tablet]) }
`Array#inquiry` is a shortcut for wrapping the receiving array in an
`ArrayInquirer`:
pets = [:cat, :dog]
pets.cat? # => true
pets.ferret? # => false
pets.any?(:cat, :ferret} # => true
|
| | |
| | |
| | |
| | | |
Closes #18933.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The status returned in the rack [status, headers, body] array was
a string, which can cause problems with middleware that assumes the
status will be a Fixnum. This likely never surfaced because other
middleware to_i the status returned from downstream apps before
passing it on.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, an empty X_FORWARDED_HOST header would cause
Actiondispatch::Http:URL.raw_host_with_port to return nil, causing
Actiondispatch::Http:URL.host to raise a NoMethodError.
|
| | |
| | |
| | |
| | |
| | | |
Regexp is broken for both content types including charsets and for
integration tests, where the content_type is a Mime::Type and not String
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Rack::Lint raises an error saying "Content-Type header found in 304
response, not allowed".
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes the reasons 4cf3b8a, 303567e, and fa63448 needed to be
reverted in 7142059. The revert has been reverted and this fixes
the issues caused previously.
If we call `super` first we will end up nuking the session settings in the
application tests that do `setup do` - so any session login or cookie
settings will not be persisted thoughout the test sessions.
Calling `super` last prevents `@integration_session` from getting nuked
and set to nil if it's already set.
Test added to prevent regression of this behavior in the future.
|
| | |
| | |
| | |
| | | |
This reverts commit 714205988315d2f98aa3e749747c44470e18676b.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This way we can get the relative_url_root from the application without
setting another global value
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
gsamokovarov/revert-ruby-2-2-0-kwarg-crash-workarounds
Revert work arounds for upstream Ruby 2.2.0 kwargs bug
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The bug caused a segfault and you can find more info about it at:
https://bugs.ruby-lang.org/issues/10685.
We did a couple of work arounds, but 2.2.1 rolled out and those aren't
needed anymore.
Here are the reverted commits:
- Revert "Work around for upstream Ruby bug #10685",
commit 707a433870e9e06af688f85a4aedc64a90791a64.
- Revert "Fix segmentation fault in ActionPack tests",
commit 22e0a22d5f98e162290d9820891d8191e720ad3b.
I'm also bumping the Ruby version check to 2.2.1 to prevent future
segfaults.
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | | |
If you would like to use a custom request class, please subclass and implemet
the `request_class` method.
|
|\ \ \
| | | |
| | | |
| | | | |
Fallback to RAILS_RELATIVE_URL_ROOT in `url_for`
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixed an issue where the `RAILS_RELATIVE_URL_ROOT` environment
variable is not prepended to the path when `url_for` is called.
If `SCRIPT_NAME` (used by Rack) is set, it takes precedence.
|
|\ \ \ \
| | | | |
| | | | | |
Work around for upstream Ruby bug #10685
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In f6e293ec54f02f83cdb37502bea117f66f87bcae we avoided a segfault in the
tests, however I think we should try to avoid the crash, as it may
happen in user code as well.
Here is what I distiled the bug down to:
```ruby
# Rails case - works on 2.0, 2.1; crashes on 2.2
require 'action_dispatch'
ActionDispatch::Response.new(200, "Content-Type" => "text/xml")
# General case - works on 2.0, 2.1; crashes on 2.2
def foo(optional = {}, default_argument: nil)
end
foo('quux' => 'bar')
```
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Partition routes during setup.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Partitioning of all the routes is currently being done during the
first request. Since there is no need to clear the cache for
`partitioned_routes` when adding a new route. We can move the
partitioning of the routes during setup time.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
this patch makes errors slightly more expensive when someone is missing
a route key, but in exchange it drops 4 allocations per `url_for` call.
Since missing a route key is an error, optimizing for the non-error path
seems like a good trade off
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
we already know the length of the args, so we can use that length for
parallel iteration and cut down on allocations for `url_for` calls.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
this centralizes the logic for determining the script name key and drops
object allocations when calling `engine_script_name` (which is called on
each `url_for`).
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
```ruby
article = Article.new.tap(&:save!)
view.url_for article
result = ObjectSpace::AllocationTracer.trace do
3000.times { view.url_for article }
end
p ObjectSpace::AllocationTracer.allocated_count_table[:T_STRING] / 3000
```
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
_generate_paths_by_default wasn't used in AD::Routing::UrlFor, so we
should be able to move it where it is used in AV::Routing
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Most session stores offer an :expire_after option, but it's largely
undocumented. Cookie store also supports a number of options via
rack (these used to be documented in rails 2.3)
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Haven't diagnosed yet. No similarly failing tests in Rails to work from.
cc @tenderlove, @eileencodes
Revert "there is always an integration session, so remove the check"
Revert "lazily create the integration session"
Revert "use before_setup to set up test instance variables"
This reverts commits 4cf3b8ac47f109fa83a6f66eb97d6cb0eace0d05, 303567e554de26822f3107be55c471d6477a745f, and fa63448420d3385dbd043aca22dba973b45b8bb2.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit b6dd0c4ddebf5e7aab0a669915cb349ec65e5b88, reversing
changes made to de9a3748c436f849dd1877851115cd94663c2725.
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
Change filter on /rails/info/routes to use an actual path regexp from rails
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change filter on /rails/info/routes to use an actual path regexp from rails
and not approximate javascript version. Oniguruma supports much more
extensive list of features than javascript regexp engine.
Fixes #18402.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes regression in #18423. Merge default headers for new responses,
but don't merge when creating a response from the last session request.
hat tip @senny :heart:
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
ActionDispatch::Request#request_id
|
|\ \ \ \
| | | | |
| | | | | |
Don't use shorthand match on routes with inappropriate symbols
|