Allow OPTIONS requests for directory listings

This commit is contained in:
galfert 2012-09-28 14:46:42 +02:00
parent 7cbccb16b9
commit e815cbaaff
2 changed files with 29 additions and 14 deletions

View File

@ -71,6 +71,10 @@ class LiquorCabinet < Sinatra::Base
halt 200 halt 200
end end
options "/:user/*/" do
halt 200
end
private private
def self.configure_airbrake def self.configure_airbrake

View File

@ -153,26 +153,37 @@ describe "Directories" do
end end
end end
end end
end
describe "DELETE file" do describe "OPTIONS listing" do
context "last file in directory" do it "has CORS headers set" do
before do options "/jimmy/tasks/"
directory_bucket.delete("jimmy:tasks")
put "/jimmy/tasks/trash", "take out the trash"
end
it "deletes the directory object" do last_response.status.must_equal 200
delete "/jimmy/tasks/trash"
last_response.status.must_equal 204 last_response.headers["Access-Control-Allow-Origin"].must_equal "*"
last_response.headers["Access-Control-Allow-Methods"].must_equal "GET, PUT, DELETE"
last_response.headers["Access-Control-Allow-Headers"].must_equal "Authorization, Content-Type, Origin"
end
end
lambda { describe "DELETE file" do
directory_bucket.get("jimmy:tasks") context "last file in directory" do
}.must_raise Riak::HTTPFailedRequest before do
end directory_bucket.delete("jimmy:tasks")
put "/jimmy/tasks/trash", "take out the trash"
end
it "deletes the directory object" do
delete "/jimmy/tasks/trash"
last_response.status.must_equal 204
lambda {
directory_bucket.get("jimmy:tasks")
}.must_raise Riak::HTTPFailedRequest
end end
end end
end end
end end