diff --git a/lib/remote_storage/rest_provider.rb b/lib/remote_storage/rest_provider.rb index 02ab904..bddf75f 100644 --- a/lib/remote_storage/rest_provider.rb +++ b/lib/remote_storage/rest_provider.rb @@ -47,6 +47,7 @@ module RemoteStorage server.headers["ETag"] = %Q("#{metadata["e"]}") server.headers["Last-Modified"] = Time.at(metadata["m"].to_i / 1000).httpdate server.headers["Content-Type"] = metadata["t"] + server.headers["Content-Length"] = metadata["s"] if none_match.include? %Q("#{metadata["e"]}") server.halt 304 diff --git a/spec/shared_examples.rb b/spec/shared_examples.rb index e95cbc4..eea85f9 100644 --- a/spec/shared_examples.rb +++ b/spec/shared_examples.rb @@ -616,6 +616,7 @@ shared_examples_for 'a REST adapter' do last_response.headers["Cache-Control"].must_equal "no-cache" last_response.headers["Last-Modified"].must_equal "Fri, 04 Mar 2016 12:20:18 GMT" last_response.headers["Content-Type"].must_equal "text/plain; charset=utf-8" + last_response.headers["Content-Length"].must_equal "2" end it "responds with 304 when IF_NONE_MATCH header contains the ETag" do