1. 18 5月, 2010 1 次提交
  2. 17 4月, 2010 1 次提交
  3. 28 3月, 2010 1 次提交
  4. 27 2月, 2010 1 次提交
  5. 24 2月, 2010 1 次提交
  6. 20 2月, 2010 1 次提交
  7. 17 1月, 2010 1 次提交
  8. 16 1月, 2010 1 次提交
  9. 23 12月, 2009 1 次提交
  10. 21 12月, 2009 1 次提交
  11. 18 12月, 2009 1 次提交
  12. 15 12月, 2009 1 次提交
  13. 02 12月, 2009 3 次提交
  14. 27 10月, 2009 1 次提交
  15. 24 9月, 2009 1 次提交
  16. 26 8月, 2009 1 次提交
  17. 12 8月, 2009 2 次提交
    • Y
      More perf work: · 4bf516e0
      Yehuda Katz 提交于
        * Move #set_cookie and #delete_cookie inline to optimize. These optimizations should
          almost certainly be sent back upstream to Rack. The optimization involves using
          an ivar for cookies instead of indexing into the headers each time.
        * Was able to use a bare Hash for headers now that cookies have their own joining
          semantics (some code assumed that the raw cookies were an Array).
        * Cache blankness of body on body=
        * Improve expand_cache_key for Arrays of a single element (common in our case)
        * Use a simple layout condition check unless conditions are used
        * Cache visible actions
        * Lazily load the UrlRewriter
        * Make etag an ivar that is set on prepare!
      4bf516e0
    • Y
      Got overhead down from 127 to 85. All tests pass: · 0adbeeb0
      Yehuda Katz 提交于
        * Tentatively replaced HeaderHash with SimpleHeaderHash, which does not preserve
          case but does handle converting Arrays to Strings in to_hash. This requires
          further discussion.
        * Moved default_charset to ActionDispatch::Response to avoid having to hop over
          to ActionController. Ideally, this would be a constant on AD::Response, but
          some tests expect to be able to change it dynamically and I didn't want to change
          them yet.
        * Completely override #initialize from Rack::Response. Previously, it was creating
          a HeaderHash, and then we were creating an entirely new one. There is no way to
          call super without incurring the overhead of creating a HeaderHash.
        * Override #write from Rack::Response. Its implementation tracks Content-Length,
          and doing so adds additional overhead that could be mooted if other middleware
          changes the body. It is more efficiently done at the top-level server.
        * Change sending_file to an instance_variable instead of header inspection. In
          general, if a state is important, it should be set as a property of the response
          not reconstructed later.
        * Set the Etag to @body instead of .body. AS::Cache.expand_cache_key handles
          Arrays fine, and it's more efficient to let it handle the body parts, since
          it is not forced to create a joined String.
        * If we detect the default cache control case, just set it, rather than setting
          the constituent parts and then running the normal (expensive) code to generate
          the string.
      0adbeeb0
  18. 03 8月, 2009 2 次提交
    • Y
      Remove legacy processing and content_length · b53f0069
      Yehuda Katz 提交于
        * convert_content_type! is handled by assign_default_content_type_and_charset!
        * set_content_length! should be handled by the endpoint server. Otherwise
          each middleware that modifies the body has to do the expensive work of
          recalculating content_length.
        * convert_language! appears to be legacy. There are no tests for this
        * convert_cookies! should be handled by the new HeaderHash in Rack
        * Use an integer for .status's internal representation to avoid needing to
          do String manipulation just to find out the status
      b53f0069
    • Y
      Update cache_control to be a Hash of options that is used to build the header. · 503ce1d0
      Yehuda Katz 提交于
        * Significantly simplifies setting and modifying cache control in other areas
      503ce1d0
  19. 16 6月, 2009 1 次提交
  20. 25 5月, 2009 2 次提交
  21. 14 5月, 2009 1 次提交
  22. 13 5月, 2009 1 次提交
  23. 03 5月, 2009 2 次提交
  24. 01 5月, 2009 2 次提交
  25. 29 4月, 2009 2 次提交
  26. 28 4月, 2009 1 次提交
  27. 27 4月, 2009 4 次提交
  28. 28 1月, 2009 2 次提交