diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2017-02-15 13:04:07 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2017-02-15 13:04:07 -0800 |
commit | 0d74df67db33cc2a9858ea1568bf47ad8583d84c (patch) | |
tree | 639eccd3be8912e7ed6616a666aa9eb6d9645fbd | |
parent | 85065cfbe98b21b9218c532d95545fcc75958df9 (diff) | |
parent | bcf2698bcc90f346b145538e53d0d61bcceb2e48 (diff) | |
download | rack-0d74df67db33cc2a9858ea1568bf47ad8583d84c.tar.gz |
Merge branch 'rfc7231-sec6.3.6-205'
* rfc7231-sec6.3.6-205: Revert "Add 205 Reset Content to the list of statuses without a message body"
-rw-r--r-- | SPEC | 4 | ||||
-rw-r--r-- | lib/rack/lint.rb | 4 | ||||
-rw-r--r-- | lib/rack/mock.rb | 2 | ||||
-rw-r--r-- | lib/rack/response.rb | 2 | ||||
-rw-r--r-- | lib/rack/utils.rb | 2 | ||||
-rw-r--r-- | test/spec_chunked.rb | 2 | ||||
-rw-r--r-- | test/spec_lint.rb | 4 | ||||
-rw-r--r-- | test/spec_response.rb | 4 |
8 files changed, 12 insertions, 12 deletions
@@ -237,10 +237,10 @@ consisting of lines (for multiple header values, e.g. multiple The lines must not contain characters below 037. === The Content-Type There must not be a <tt>Content-Type</tt>, when the +Status+ is 1xx, -204, 205 or 304. +204 or 304. === The Content-Length There must not be a <tt>Content-Length</tt> header when the -+Status+ is 1xx, 204, 205 or 304. ++Status+ is 1xx, 204 or 304. === The Body The Body must respond to +each+ and must only yield String values. diff --git a/lib/rack/lint.rb b/lib/rack/lint.rb index 54d37822..683ba684 100644 --- a/lib/rack/lint.rb +++ b/lib/rack/lint.rb @@ -659,7 +659,7 @@ module Rack def check_content_type(status, headers) headers.each { |key, value| ## There must not be a <tt>Content-Type</tt>, when the +Status+ is 1xx, - ## 204, 205 or 304. + ## 204 or 304. if key.downcase == "content-type" assert("Content-Type header found in #{status} response, not allowed") { not Rack::Utils::STATUS_WITH_NO_ENTITY_BODY.include? status.to_i @@ -674,7 +674,7 @@ module Rack headers.each { |key, value| if key.downcase == 'content-length' ## There must not be a <tt>Content-Length</tt> header when the - ## +Status+ is 1xx, 204, 205 or 304. + ## +Status+ is 1xx, 204 or 304. assert("Content-Length header found in #{status} response, not allowed") { not Rack::Utils::STATUS_WITH_NO_ENTITY_BODY.include? status.to_i } diff --git a/lib/rack/mock.rb b/lib/rack/mock.rb index 4ebc4df1..afc855e2 100644 --- a/lib/rack/mock.rb +++ b/lib/rack/mock.rb @@ -190,7 +190,7 @@ module Rack end def empty? - [201, 204, 205, 304].include? status + [201, 204, 304].include? status end end end diff --git a/lib/rack/response.rb b/lib/rack/response.rb index 9ac47aad..a9f0c2a3 100644 --- a/lib/rack/response.rb +++ b/lib/rack/response.rb @@ -60,7 +60,7 @@ module Rack def finish(&block) @block = block - if [204, 205, 304].include?(status.to_i) + if [204, 304].include?(status.to_i) delete_header CONTENT_TYPE delete_header CONTENT_LENGTH close diff --git a/lib/rack/utils.rb b/lib/rack/utils.rb index 7b842125..c253f3cf 100644 --- a/lib/rack/utils.rb +++ b/lib/rack/utils.rb @@ -576,7 +576,7 @@ module Rack } # Responses with HTTP status codes that should not have an entity body - STATUS_WITH_NO_ENTITY_BODY = Set.new((100..199).to_a << 204 << 205 << 304) + STATUS_WITH_NO_ENTITY_BODY = Set.new((100..199).to_a << 204 << 304) SYMBOL_TO_STATUS_CODE = Hash[*HTTP_STATUS_CODES.map { |code, message| [message.downcase.gsub(/\s|-|'/, '_').to_sym, code] diff --git a/test/spec_chunked.rb b/test/spec_chunked.rb index 7bbcfd92..dc6e8c9d 100644 --- a/test/spec_chunked.rb +++ b/test/spec_chunked.rb @@ -92,7 +92,7 @@ describe Rack::Chunked do body.join.must_equal 'Hello World!' end - [100, 204, 205, 304].each do |status_code| + [100, 204, 304].each do |status_code| it "not modify response when status code is #{status_code}" do app = lambda { |env| [status_code, {}, []] } status, headers, _ = chunked(app).call(@env) diff --git a/test/spec_lint.rb b/test/spec_lint.rb index 6d1c2c45..d99c1aa3 100644 --- a/test/spec_lint.rb +++ b/test/spec_lint.rb @@ -269,7 +269,7 @@ describe Rack::Lint do # }.must_raise(Rack::Lint::LintError). # message.must_match(/No Content-Type/) - [100, 101, 204, 205, 304].each do |status| + [100, 101, 204, 304].each do |status| lambda { Rack::Lint.new(lambda { |env| [status, {"Content-type" => "text/plain", "Content-length" => "0"}, []] @@ -280,7 +280,7 @@ describe Rack::Lint do end it "notice content-length errors" do - [100, 101, 204, 205, 304].each do |status| + [100, 101, 204, 304].each do |status| lambda { Rack::Lint.new(lambda { |env| [status, {"Content-length" => "0"}, []] diff --git a/test/spec_response.rb b/test/spec_response.rb index 2dd2c001..987199de 100644 --- a/test/spec_response.rb +++ b/test/spec_response.rb @@ -410,7 +410,7 @@ describe Rack::Response do res.body.must_be :closed? end - it "calls close on #body when 204, 205, or 304" do + it "calls close on #body when 204 or 304" do res = Rack::Response.new res.body = StringIO.new res.finish @@ -424,7 +424,7 @@ describe Rack::Response do res.body = StringIO.new res.status = 205 _, _, b = res.finish - res.body.must_be :closed? + res.body.wont_be :closed? b.wont_equal res.body res.body = StringIO.new |