1. 04 5月, 2014 1 次提交
  2. 18 4月, 2014 2 次提交
  3. 15 4月, 2014 1 次提交
    • R
      Return null type format when format is not know · 4d21e496
      Rafael Mendonça França 提交于
      When requesting a controller with the following code with a unknown format:
      
          def my_action
            respond_to do |format|
              format.json { head :ok }
              format.any { render text: 'Default response' }
            end
          end
      
      we should render the default response instead of raising ActionController::UnknownFormat
      
      Fixes #14462
      
      Conflicts:
      	actionpack/CHANGELOG.md
      	actionpack/test/controller/mime/respond_with_test.rb
      
      Conflicts:
      	actionpack/CHANGELOG.md
      4d21e496
  4. 14 4月, 2014 1 次提交
  5. 07 4月, 2014 2 次提交
  6. 22 3月, 2014 1 次提交
  7. 15 3月, 2014 1 次提交
  8. 14 3月, 2014 1 次提交
  9. 13 3月, 2014 2 次提交
    • A
      use the body proxy to freeze headers · 3df07d09
      Aaron Patterson 提交于
      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
      3df07d09
    • A
      only write the jar if the response isn't committed · 77a09218
      Aaron Patterson 提交于
      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
      77a09218
  10. 09 3月, 2014 1 次提交
    • P
      Ensure LookupContext in Digestor selects correct variant · 025c6915
      Piotr Chmolowski 提交于
      Related to: #14242 #14243 14293
      
      Variants passed to LookupContext#find() seem to be ignored, so
      I've used the setter instead: `finder.variants = [ variant ]`.
      
      I've also added some more test cases for variants. Hopefully this
      time passing tests will mean it actually works.
      025c6915
  11. 05 3月, 2014 2 次提交
    • P
      Do note remove `Content-Type` when `render :body` · ed88a601
      Prem Sichanugrist 提交于
      `render :body` should just not set the `Content-Type` header. By
      removing the header, it breaks the compatibility with other parts.
      
      After this commit, `render :body` will returns `text/html` content type,
      sets by default from `ActionDispatch::Response`, and it will preserve
      the overridden content type if you override it.
      
      Fixes #14197, #14238
      
      This partially reverts commit 30473768.
      ed88a601
    • J
      Make CSRF failure logging optional/configurable. · 67584c6a
      John Barton (joho) 提交于
      Added the log_warning_on_csrf_failure option to ActionController::RequestForgeryProtection
      which is on by default.
      67584c6a
  12. 04 3月, 2014 1 次提交
    • P
      Variants in ActionView::Digestor · 1858cc60
      Piotr Chmolowski 提交于
      Take variants into account when calculating template digests in
      ActionView::Digest.
      
      Digestor#digest now takes a hash as an argument to support variants and
      allow more flexibility in the future. Old-style arguments have been
      deprecated.
      
      Fixes #14242
      1858cc60
  13. 01 3月, 2014 4 次提交
  14. 27 2月, 2014 1 次提交
    • T
      Fix controller test not resetting @_url_options · a351149e
      Tony Wooster 提交于
      Commit 4f2cd3e9 introduced a bug by reordering the call to
      `@controller.recycle!` above the call to `build_request_uri`. The
      impact of this was that the `@_url_options` cache ends up not being
      reset between building a request URI (occurring within the test
      controller) and the firing of the actual request.
      
      We encountered this bug because we had the following setup:
      
        class MinimumReproducibleController < ActionController::Base
          before_filter { @param = 'param' }
      
          def index
            render text: url_for(params)
          end
      
          def default_url_options
            { custom_opt: @param }
          end
        end
      
        def test_index
          get :index # builds url, then fires actual request
        end
      
      The first step in  `get :index` in the test suite would populate the
      @_url_options cache. The subsequent call to `url_for` inside of the
      controller action would then utilize the uncleared cache, thus never
      calling the now-updated default_url_options.
      
      This commit fixes this bug calling recycle! twice, and removes a call
      to set response_body, which should no longer be needed since we're
      recycling the request object explicitly.
      a351149e
  15. 24 2月, 2014 1 次提交
  16. 19 2月, 2014 4 次提交
    • P
      Introduce `render :html` for render HTML string · 920f3ba2
      Prem Sichanugrist 提交于
      This is an option for to HTML content with a content type of
      `text/html`. This rendering option calls `ERB::Util.html_escape`
      internally to escape unsafe HTML string, so you will have to mark your
      string as html safe if you have any HTML tag in it.
      
      Please see #12374 for more detail.
      920f3ba2
    • P
      Introduce `render :plain` for render plain text · 8cd9f6d2
      Prem Sichanugrist 提交于
      This is as an option to render content with a content type of
      `text/plain`. This is the preferred option if you are planning to render
      a plain text content.
      
      Please see #12374 for more detail.
      8cd9f6d2
    • P
      Update hash format for render_text_test · 9e9cc660
      Prem Sichanugrist 提交于
      9e9cc660
    • P
      Introduce `render :body` for render raw content · 103e18c8
      Prem Sichanugrist 提交于
      This is an option for sending a raw content back to browser. Note that
      this rendering option will unset the default content type and does not
      include "Content-Type" header back in the response.
      
      You should only use this option if you are expecting the "Content-Type"
      header to not be set. More information on "Content-Type" header can be
      found on RFC 2616, section 7.2.1.
      
      Please see #12374 for more detail.
      103e18c8
  17. 16 2月, 2014 1 次提交
    • K
      Correct prestreaming controller response status. · 8508346d
      Kevin Casey 提交于
      if the controller action has not yet streamed any data, actions should
      process as normal, and errors should trigger the appropriate behavior
      (500, or in the case of ActionController::BadRequest, a 400 Bad Request)
      8508346d
  18. 14 2月, 2014 1 次提交
  19. 13 2月, 2014 1 次提交
    • L
      Variant negotiation · f9b6b865
      Lukasz Strzalkowski 提交于
      Allow setting `request.variant` as an array - an order in which they will be
      rendered.
      
      For example:
      
        request.variant = [:tablet, :phone]
      
        respond_to do |format|
          format.html.none
          format.html.phone # this gets rendered
        end
      f9b6b865
  20. 11 2月, 2014 2 次提交
  21. 09 2月, 2014 1 次提交
  22. 07 2月, 2014 1 次提交
  23. 31 1月, 2014 1 次提交
  24. 27 1月, 2014 1 次提交
  25. 25 1月, 2014 1 次提交
  26. 24 1月, 2014 1 次提交
  27. 27 12月, 2013 1 次提交
    • Ł
      Add any/all support for variants · a288cc1e
      Łukasz Strzałkowski 提交于
      Like `format.any`, you can do the same with variants.
      
      It works for both inline:
      
          respond_to do |format|
            format.html.any   { render text: "any"   }
            format.html.phone { render text: "phone" }
          end
      
      and block syntax:
      
          respond_to do |format|
            format.html do |variant|
              variant.any(:tablet, :phablet){ render text: "any" }
              variant.phone { render text: "phone" }
            end
          end
      a288cc1e
  28. 25 12月, 2013 1 次提交
  29. 24 12月, 2013 1 次提交