diff --git a/lib/remote_storage/rest_provider.rb b/lib/remote_storage/rest_provider.rb index 3c5d38d..02ab904 100644 --- a/lib/remote_storage/rest_provider.rb +++ b/lib/remote_storage/rest_provider.rb @@ -44,8 +44,9 @@ module RemoteStorage server.halt 404 if metadata.empty? # Set the response headers for a 304 or 200 response - server.headers["ETag"] = %Q("#{metadata["e"]}") - server.headers["Last-Modified"] = Time.at(metadata["m"].to_i / 1000).httpdate + server.headers["ETag"] = %Q("#{metadata["e"]}") + server.headers["Last-Modified"] = Time.at(metadata["m"].to_i / 1000).httpdate + server.headers["Content-Type"] = metadata["t"] if none_match.include? %Q("#{metadata["e"]}") server.halt 304 diff --git a/spec/shared_examples.rb b/spec/shared_examples.rb index fd5f742..e95cbc4 100644 --- a/spec/shared_examples.rb +++ b/spec/shared_examples.rb @@ -614,6 +614,8 @@ shared_examples_for 'a REST adapter' do last_response.status.must_equal 200 last_response.headers["ETag"].must_equal "\"0815etag\"" 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" end it "responds with 304 when IF_NONE_MATCH header contains the ETag" do