aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
* Return 307 status instead of 301 when rerouting POST requests to SSLChirag Singhal2016-08-223-1/+43
| | | | | | | | | | | When `config.force_ssl` is set to `true`, any POST/PUT/DELETE requests coming in to non-secure url are being redirected with a 301 status. However, when that happens, the request is converted to a GET request and ends up hitting a different action on the controller. Since we can not do non-GET redirects, we can instead redirect with a 307 status code instead to indicate to the caller that a fresh request should be tried preserving the original request method. `rack-ssl` gem which was used to achieve this before we had this middleware directly baked into Rails also used to do the same, ref: https://github.com/josh/rack-ssl/blob/master/lib/rack/ssl.rb#L54 This would be specially important for any apps switching from older version of Rails or apps which expose an API through Rails.
* Fix `ActionDispatch::Http::URL` docs [ci skip]Ryoji Yoshioka2016-08-221-65/+21
| | | | Use ActionDispatch::Request instead of Request because ActionDispatch::Request no longer inherits from Rack::Request.
* Copy edits in the documentation [ci skip]Rafael Mendonça França2016-08-192-4/+6
|
* Set the request type if as: is specifiedEverest Munro-Zeisberger2016-08-183-1/+22
| | | | Documentation & testing
* Change method visibility to be privateRafael Mendonça França2016-08-171-57/+57
| | | | | Those methods are only using inside this module and by a private method so they all should be private.
* Push :defaults extraction down one levelRafael Mendonça França2016-08-172-60/+78
| | | | | | | | | | | | | Since e852daa6976cc6b6b28ad0c80a188c06e226df3c only the verb methods where extracting the defaults options. It was merged a fix for the `root` method in 31fbbb7faccba25b2e3b5e10b8fca1468579d629 but `match` was still broken since `:defaults` where not extracted. This was causing routes defined using `match` and having the `:defaults` keys to not be recognized. To fix this it was extracted a new private method with the actual content of `match` and the `:defaults` extracting was moved to `match`.
* Merge pull request #25862 from ↵प्रथमेश Sonpatki2016-08-171-6/+12
|\ | | | | | | | | prathamesh-sonpatki/start-documenting-ac-testcase-again Start documenting ActionController::TestCase again
| * Start documenting ActionController::TestCase againPrathamesh Sonpatki2016-08-171-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | - Rails 5 changed interface for passing arguments to request methods to keyword args for AC::TestCase but also hid the documentation. - But existing AC::TestCase tests need the new documentation about keyword args. So resurrected documentation and added a note about not using this for new tests. - The guides and other documentation is already updated to use `ActionDispatch::IntegrationTest`. [Matthew Draper, Prathamesh Sonpatki]
* | Merge pull request #26094 from igorkasyanchuk/masterRafael França2016-08-163-7/+7
|\ \ | | | | | | Show unpermitted parameters as symbols in logs (so they could be copy…
| * | Show unpermitted parameters as symbols in logs (so they could be copy-pasted ↵Igor Kasyanchuk2016-08-103-7/+7
| | | | | | | | | | | | to the code)
* | | Merge pull request #26156 from sfaxon/route_visualizer_fixRafael França2016-08-161-1/+3
|\ \ \ | | | | | | | | fix Rails.application.routes.router.visualizer for router debugging
| * | | fix Rails.application.routes.router.visualizer for router debuggingSeth Faxon2016-08-131-1/+3
| | | | | | | | | | | | | | | | fixes error due to Routes#partitioned_routes being removed
* | | | Add three new rubocop rulesRafael Mendonça França2016-08-1681-557/+557
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* | | | Fix deadlock that can occur when child live thread tries to load a constant ↵Alex Chinn2016-08-153-1/+30
| | | | | | | | | | | | | | | | after writing to the stream.
* | | | Merge pull request #26160 from prathamesh-sonpatki/use-encoding-from-metalMatthew Draper2016-08-161-1/+1
|\ \ \ \ | | | | | | | | | | AC::Metal is already defining default encoding as UTF 8, let's reuse it.
| * | | | AC::Metal is already defining default encoding as UTF 8, let's reuse it.Prathamesh Sonpatki2016-08-141-1/+1
| |/ / /
* | | | [ci skip] Link to the request helpers documentation.Kasper Timm Hansen2016-08-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | It's tough for people without the knowledge of where the `get` and friends integration test helpers are defined to find documentation for them. Add a link to the main integration test documentation.
* | | | [ci skip] Update integration test request encoding documentation.Kasper Timm Hansen2016-08-141-13/+14
|/ / / | | | | | | | | | | | | | | | | | | * Give the section a header to distinguish it from the general doc. * Replace backticks with + signs to fit SDoc. * Use double quoted strings. * Clarify how `parsed_body` works — it doesn't depend on `as` anymore.
* | | Merge pull request #26100 from vipulnsward/changelogsRafael França2016-08-121-5/+5
|\ \ \ | | | | | | | | Pass over changelogs
| * | | Pass over changelogs [ci skip]Vipul A M2016-08-101-5/+5
| |/ /
* | | Make private method privateRafael Mendonça França2016-08-121-11/+11
| | |
* | | Mark method as nodocRafael Mendonça França2016-08-121-3/+3
| | | | | | | | | | | | They are not part of the public API
* | | Given a hash (Rails 5) .from_hash must be usedJavier Julio2016-08-121-1/+1
| | | | | | | | | When initializing an `ActionDispatch::Http::Headers` object it takes a request object (Rails 5) whereas before it took a hash (Rails 4.x) but the documented example still shows a hash given to the constructor (due to commit 34fa6658dd1b779b21e586f01ee64c6f59ca1537) so this is just a documentation change to use the new `from_hash` method introduced in that earlier commit.
* | | [ci skip] Add documentation to Parameter EncodingAlex Kitchens2016-08-111-0/+1
| | |
* | | prefer __dir__ over __FILE__ in File.expand_pathXavier Noria2016-08-111-1/+3
| | | | | | | | | | | | | | | | | | Thinking .. relative to files is not natural, we are used to think "parent of a directory", and we have __dir__ nowadays.
* | | Merge pull request #26092 from kerrizor/kerrizor/force-param-encodingAaron Patterson2016-08-1010-20/+139
|\ \ \ | | | | | | | | Allow specifying encoding of parameters by action
| * | | Allow specifying encoding of parameters by actionKerri Miller2016-08-0910-20/+139
| |/ / | | | | | | | | | | | | At GitHub we need to handle parameter encodings that are not UTF-8. This patch allows us to specify encodings per parameter per action.
* | | Remove unused methodAndrew White2016-08-101-5/+0
| | | | | | | | | | | | | | | | | | | | | In c546a2b parameter handling in AC test cases was changed to round tripping through encoders/decoders so that they matched reality and in 0adb8f8 the old methods were removed but the `html_format?` method was overlooked.
* | | Fix broken alignments caused by auto-correct commit 411ccbdRyuta Kamizono2016-08-109-25/+50
|/ / | | | | | | Hash syntax auto-correcting breaks alignments. 411ccbdab2608c62aabdb320d52cb02d446bb39c
* | revises more Lint/EndAlignment offensesXavier Noria2016-08-084-9/+9
| |
* | code gardening: removes redundant selfsXavier Noria2016-08-089-12/+12
| | | | | | | | | | | | | | | | | | A few have been left for aesthetic reasons, but have made a pass and removed most of them. Note that if the method `foo` returns an array, `foo << 1` is a regular push, nothing to do with assignments, so no self required.
* | adds missing comma in assert callXavier Noria2016-08-071-2/+2
| |
* | Assign config on base instead of on `@controller`.Kasper Timm Hansen2016-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In some test runs `ActionController::Base.enable_fragment_cache_logging` would be false, based on the test order. Turns out it was off because we assigned the config to the `@controller` variable, and not on `ActionController::Base`. The test failure was reproducible with, and now passes after this: ``` bin/test test/controller/log_subscriber_test.rb --seed 19918 ```
* | Add changelog entry to Action Pack as well.Kasper Timm Hansen2016-08-071-0/+24
| | | | | | | | | | The entry was a result of a combination of changes in Action View and Action Controller.
* | Add back unintentionally removed newline.Kasper Timm Hansen2016-08-071-0/+1
| |
* | Merge pull request #25825 from st0012/partial-cacheKasper Timm Hansen2016-08-074-2/+21
|\ \ | | | | | | Better logging of cached partial renders
| * | Modify LogSubscriber for single partial's cache message.Stan Lo2016-08-084-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement naive partial caching mechanism. Add test for LogSubscriber Use ActionView::Base#log_payload to store log_subscriber's payload, so we can pass cache result into it. Fixed tests Remove useless settings Check if #log_payload exists before calling it. Because other classes also includes CacheHelper but don't have is attribute Use @log_payload_for_partial_reder instead of #log_payload to carry ActionView's payload. Update test's hash syntax Add configuration to enable/disable fragment caching logging Remove unless test and add new test to ensure cache info won't effect next rendering's log Move :enable_fragment_cache_logging config from ActionView to ActionPack Apply new config to tests Update actionview's changelog Update configuration guide Improve actionview's changelog Refactor PartialRenderer#render and log tests Mute subscriber's log instead of disabling instrumentation. Fix typo, remove useless comment and use new hash syntax Improve actionpack's log_subscriber test Fix rebase mistake Apply new config to all caching intstrument actions
* | | Fix Accept header overridden when "xhr: true" in integration testDavid Chen2016-08-073-4/+26
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In integration test when specify the "Accept" header with "xhr: true" option, the Accept header is overridden with a default xhr Accept header. The issue only affects HTTP header "Accept" but not CGI variable "HTTP_ACCEPT". For example: get '/page', headers: { 'Accept' => 'application/json' }, xhr: true # This is WRONG! And the response.content_type is also affected. # It should be "application/json" assert_equal "text/javascript, text/html, ...", request.accept assert_equal 'text/html', response.content_type The issue is in `ActionDispatch::Integration::RequestHelpers`. When setting "xhr: true" the helper sets a default HTTP_ACCEPT if blank. But the code doesn't consider supporting both HTTP header style and CGI variable style. For detail see this GitHub issue: https://github.com/rails/rails/issues/25859
* | Add `Style/EmptyLines` in `.rubocop.yml` and remove extra empty linesRyuta Kamizono2016-08-0713-15/+0
| |
* | applies remaining conventions across the projectXavier Noria2016-08-0661-91/+36
| |
* | normalizes indentation and whitespace across the projectXavier Noria2016-08-0668-1231/+1227
| |
* | remove redundant curlies from hash argumentsXavier Noria2016-08-0634-302/+252
| |
* | modernizes hash syntax in actionpackXavier Noria2016-08-0695-2062/+2062
| |
* | applies new string literal convention to the rest of the projectXavier Noria2016-08-061-7/+7
| | | | | | | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* | applies new string literal convention in the gemspecsXavier Noria2016-08-061-19/+19
| | | | | | | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* | applies new string literal convention in actionpack/testXavier Noria2016-08-06145-6003/+6003
| | | | | | | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* | applies new string literal convention in actionpack/libXavier Noria2016-08-0696-571/+571
| | | | | | | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* | Fix GET JSON integration test request to use method overrideeileencodes2016-08-053-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a `GET` request is sent `as: :json` in an integration test the test should use Rack's method override to change to a post request so the paramters are included in the postdata. Otherwise it will not encode the parameters correctly for the integration test. Because integration test sets up it's own middleware, `Rack::MethodOverride` needs to be included in the integration tests as well. `headers ||= {}` was moved so that headers are never nil. They should default to a hash. Fixes #26033 [Eileen M. Uchitelle & Aaron Patterson]
* | Fix wrong assignment.Kasper Timm Hansen2016-08-021-4/+5
| | | | | | | | Screwed up both the left and right hand sides!
* | Set `always_permitted_parameters`.Kasper Timm Hansen2016-08-021-0/+9
| | | | | | | | | | | | | | The tests were written with the common false value seen in Rails apps, show that intent in the code. Should also fix the build on 5-0-stable.