From 5c45e1e20beeb33e3fef3a109ab7019e78d6c31b Mon Sep 17 00:00:00 2001 From: Stormwind Date: Sat, 24 Nov 2012 15:28:42 +0100 Subject: [PATCH] Delete Content-Length. Conten-Type and body on status 304 --- lib/zero/response.rb | 4 ++-- 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