Support for new read/write permission system

This commit is contained in:
2012-09-20 18:29:31 +02:00
parent 01017a9d9c
commit 3d573b51ac
3 changed files with 273 additions and 9 deletions
+6 -6
View File
@@ -29,23 +29,23 @@ class LiquorCabinet < Sinatra::Base
disable :logging
end
before "/:user/:category/:key" do
before "/:user/*/:key" do
headers 'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => 'GET, PUT, DELETE',
'Access-Control-Allow-Headers' => 'Authorization, Content-Type, Origin'
headers['Access-Control-Allow-Origin'] = env["HTTP_ORIGIN"] if env["HTTP_ORIGIN"]
@user, @category, @key = params[:user], params[:category], params[:key]
@user, @category, @key = params[:user], params[:splat].first, params[:key]
token = env["HTTP_AUTHORIZATION"] ? env["HTTP_AUTHORIZATION"].split(" ")[1] : ""
authorize_request(@user, @category, token) unless request.options?
end
get "/:user/:category/:key" do
get "/:user/*/:key" do
get_data(@user, @category, @key)
end
put "/:user/:category/:key" do
put "/:user/*/:key" do
data = request.body.read
if env['CONTENT_TYPE'] == "application/x-www-form-urlencoded"
@@ -57,11 +57,11 @@ class LiquorCabinet < Sinatra::Base
put_data(@user, @category, @key, data, content_type)
end
delete "/:user/:category/:key" do
delete "/:user/*/:key" do
delete_data(@user, @category, @key)
end
options "/:user/:category/:key" do
options "/:user/*/:key" do
halt 200
end