diff options
author | Stormwind <stormwind@stormwinds-page.de> | 2012-11-24 15:28:42 +0100 |
---|---|---|
committer | Stormwind <stormwind@stormwinds-page.de> | 2012-11-24 15:28:42 +0100 |
commit | 5c45e1e20beeb33e3fef3a109ab7019e78d6c31b (patch) | |
tree | 58081ac474244cee9f5a220720974b4abea10f2b | |
parent | 285b7f221495b8d80e3921876a17eaff799c14b8 (diff) |
Delete Content-Length. Conten-Type and body on status 304
-rw-r--r-- | lib/zero/response.rb | 4 | ||||
-rw-r--r-- | spec/unit/response/response_spec.rb | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/zero/response.rb b/lib/zero/response.rb index ab4c70b..13a053e 100644 --- a/lib/zero/response.rb +++ b/lib/zero/response.rb @@ -31,8 +31,8 @@ module Zero # @return [Array] # def to_a - # TODO Remove content length and body, on certain status codes - if status == 204 + # Remove content length and body, on status 204 and 304 + if status == 204 or status == 304 header.delete('Content-Length') header.delete('Content-Type') self.body = [] diff --git a/spec/unit/response/response_spec.rb b/spec/unit/response/response_spec.rb index 7a02ced..4b94dbe 100644 --- a/spec/unit/response/response_spec.rb +++ b/spec/unit/response/response_spec.rb @@ -56,6 +56,17 @@ describe Zero::Response do value[1].should eq({}) # Headers end + + it "removes Content-Type, Content-Length and body on status code 304" do + subject.body.push '"foobar"' + subject.content_type 'application/json' + subject.header['Content-Length'] = 8 + + subject.status = 304 + value = subject.to_a + + value[1].should eq({}) # Headers + end end describe '#status' do |