rack 3.1.2 → 3.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rack might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/rack/mock_response.rb +2 -2
- data/lib/rack/utils.rb +16 -5
- data/lib/rack/version.rb +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 1cb578b6c5608012f69e9e89637fe2b53f31d5aa15f9d546e1c756384119c762
         | 
| 4 | 
            +
              data.tar.gz: 4201b8eb5e202b3832cf1e576bfa13106866da483d9e0395a58bb482a04da30a
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 71f559cc4ffb927a6297ad5d1e9794d740270c670148f100feb40b0a465303e20aeea7d82c953cf3e2af9b9651facb9dbd814bb152f83c6e4042e4a89ac67b7b
         | 
| 7 | 
            +
              data.tar.gz: 7ae4c87c4b74f111f0bae47d6ba80aacbbd3d5d6424f0231922676e3e0898ad895a3816098622b83cb73e2668cf4bd991ae5d8d4669b177557dab155b0fb80df
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -2,6 +2,13 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            All notable changes to this project will be documented in this file. For info on how to format all future additions to this file please reference [Keep A Changelog](https://keepachangelog.com/en/1.0.0/).
         | 
| 4 4 |  | 
| 5 | 
            +
            ## [3.1.3] - 2024-06-12
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ### Fixed
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            - Fix passing non-strings to `Rack::Utils.escape_html`. ([#2202](https://github.com/rack/rack/pull/2202), [@earlopain])
         | 
| 10 | 
            +
            - `Rack::MockResponse` gracefully handles empty cookies ([#2203](https://github.com/rack/rack/pull/2203) [@wynksaiddestroy](https://github.com/wynksaiddestroy))
         | 
| 11 | 
            +
             | 
| 5 12 | 
             
            ## [3.1.2] - 2024-06-11
         | 
| 6 13 |  | 
| 7 14 | 
             
            ## Changed
         | 
    
        data/lib/rack/mock_response.rb
    CHANGED
    
    | @@ -78,8 +78,8 @@ module Rack | |
| 78 78 |  | 
| 79 79 | 
             
                def parse_cookies_from_header
         | 
| 80 80 | 
             
                  cookies = Hash.new
         | 
| 81 | 
            -
                   | 
| 82 | 
            -
             | 
| 81 | 
            +
                  set_cookie_header = headers['set-cookie']
         | 
| 82 | 
            +
                  if set_cookie_header && !set_cookie_header.empty?
         | 
| 83 83 | 
             
                    Array(set_cookie_header).each do |cookie|
         | 
| 84 84 | 
             
                      cookie_name, cookie_filling = cookie.split('=', 2)
         | 
| 85 85 | 
             
                      cookie_attributes = identify_cookie_attributes cookie_filling
         | 
    
        data/lib/rack/utils.rb
    CHANGED
    
    | @@ -6,7 +6,7 @@ require 'fileutils' | |
| 6 6 | 
             
            require 'set'
         | 
| 7 7 | 
             
            require 'tempfile'
         | 
| 8 8 | 
             
            require 'time'
         | 
| 9 | 
            -
            require ' | 
| 9 | 
            +
            require 'erb'
         | 
| 10 10 |  | 
| 11 11 | 
             
            require_relative 'query_parser'
         | 
| 12 12 | 
             
            require_relative 'mime'
         | 
| @@ -176,8 +176,17 @@ module Rack | |
| 176 176 | 
             
                  matches&.first
         | 
| 177 177 | 
             
                end
         | 
| 178 178 |  | 
| 179 | 
            -
                #  | 
| 180 | 
            -
                 | 
| 179 | 
            +
                # Introduced in ERB 4.0. ERB::Escape is an alias for ERB::Utils which
         | 
| 180 | 
            +
                # doesn't get monkey-patched by rails
         | 
| 181 | 
            +
                if defined?(ERB::Escape) && ERB::Escape.instance_method(:html_escape)
         | 
| 182 | 
            +
                  define_method(:escape_html, ERB::Escape.instance_method(:html_escape))
         | 
| 183 | 
            +
                else
         | 
| 184 | 
            +
                  require 'cgi/escape'
         | 
| 185 | 
            +
                  # Escape ampersands, brackets and quotes to their HTML/XML entities.
         | 
| 186 | 
            +
                  def escape_html(string)
         | 
| 187 | 
            +
                    CGI.escapeHTML(string.to_s)
         | 
| 188 | 
            +
                  end
         | 
| 189 | 
            +
                end
         | 
| 181 190 |  | 
| 182 191 | 
             
                def select_best_encoding(available_encodings, accept_encoding)
         | 
| 183 192 | 
             
                  # http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
         | 
| @@ -582,9 +591,11 @@ module Rack | |
| 582 591 | 
             
                      fallback_code = OBSOLETE_SYMBOLS_TO_STATUS_CODES.fetch(status) { raise ArgumentError, "Unrecognized status code #{status.inspect}" }
         | 
| 583 592 | 
             
                      message = "Status code #{status.inspect} is deprecated and will be removed in a future version of Rack."
         | 
| 584 593 | 
             
                      if canonical_symbol = OBSOLETE_SYMBOL_MAPPINGS[status]
         | 
| 585 | 
            -
                        message = "#{message} Please use #{canonical_symbol.inspect} instead."
         | 
| 594 | 
            +
                        # message = "#{message} Please use #{canonical_symbol.inspect} instead."
         | 
| 595 | 
            +
                        # For now, let's not emit any warning when there is a mapping.
         | 
| 596 | 
            +
                      else
         | 
| 597 | 
            +
                        warn message, uplevel: 3
         | 
| 586 598 | 
             
                      end
         | 
| 587 | 
            -
                      warn message, uplevel: 1
         | 
| 588 599 | 
             
                      fallback_code
         | 
| 589 600 | 
             
                    end
         | 
| 590 601 | 
             
                  else
         | 
    
        data/lib/rack/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rack
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3.1. | 
| 4 | 
            +
              version: 3.1.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Leah Neukirchen
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-06- | 
| 11 | 
            +
            date: 2024-06-12 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: minitest
         | 
| @@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 158 158 | 
             
                - !ruby/object:Gem::Version
         | 
| 159 159 | 
             
                  version: '0'
         | 
| 160 160 | 
             
            requirements: []
         | 
| 161 | 
            -
            rubygems_version: 3.5. | 
| 161 | 
            +
            rubygems_version: 3.5.9
         | 
| 162 162 | 
             
            signing_key:
         | 
| 163 163 | 
             
            specification_version: 4
         | 
| 164 164 | 
             
            summary: A modular Ruby webserver interface.
         |