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 | 
