diff options
-rw-r--r-- | application.rb | 6 | ||||
-rw-r--r-- | lazar.rb | 12 |
2 files changed, 14 insertions, 4 deletions
diff --git a/application.rb b/application.rb index b522baf..f11a211 100644 --- a/application.rb +++ b/application.rb @@ -59,14 +59,16 @@ delete '/:id/?' do uri = ModelStore.get(params[:id]).uri ModelStore.get(params[:id]).destroy! "Model #{params[:id]} deleted." - if params[:token_id] and !Model.get(params[:id]) and uri + if params[:token_id] and !ModelStore.get(params[:id]) and uri begin - aa = OpenTox::Authorization.delete_policy_from_uri(uri, params[:token_id]) + aa = OpenTox::Authorization.delete_policies_from_uri(uri, params[:token_id]) LOGGER.debug "Policy deleted for Model URI: #{uri} with token_id: #{params[:token_id]} with result: #{aa}" rescue LOGGER.warn "Policy delete error for Model URI: #{uri}" end end + response['Content-Type'] = 'text/plain' + "Model #{params[:id]} deleted." rescue halt 404, "Model #{params[:id]} does not exist." end @@ -3,8 +3,16 @@ require "haml" helpers do def uri_available?(urlStr) url = URI.parse(urlStr) - Net::HTTP.start(urlStr.host, urlStr.port) do |http| - return http.head(urlStr.request_uri).code == "200" + token_id = params[:token_id] if params[:token_id] + token_id = request.env['HTTP_TOKEN_ID'] if !token_id and request.env['HTTP_TOKEN_ID'] + unless token_id + Net::HTTP.start(url.host, url.port) do |http| + return http.head(url.request_uri).code == "200" + end + else + Net::HTTP.start(url.host, url.port) do |http| + return http.post(url.request_uri, "token_id=#{token_id}").code == "202" + end end end end |