change for new aa variables
authorrautenberg <rautenberg@in-silico.ch>
Wed, 28 Mar 2012 16:26:19 +0000 (18:26 +0200)
committerrautenberg <rautenberg@in-silico.ch>
Wed, 28 Mar 2012 16:26:19 +0000 (18:26 +0200)
lib/overwrite.rb
lib/rest-client-wrapper.rb

index 4ba6811..d98769e 100644 (file)
@@ -30,13 +30,13 @@ module URI
     URI.parse(uri).instance_of? URI::HTTPS
   end
 
-  def self.accessible? uri, subjectid=nil
+  def self.accessible?(uri, subjectid=nil)
     if URI.task? uri or URI.compound? uri
       # just try to get a response, valid tasks may return codes > 400
       Net::HTTP.get_response(URI.parse(uri))
       true
     else
-      Net::HTTP.get_response(URI.parse(uri)).code.to_i < 400
+      Net::HTTP.get_response(URI.parse(uri + (subjectid ? "?subjectid=#{CGI.escape subjectid}" : ""))).code.to_i < 400
     end
   rescue
     false
index 13ccf09..30292de 100644 (file)
@@ -16,12 +16,13 @@ module OpenTox
       define_singleton_method method do |uri,payload={},headers={}|
 
         # check input 
+        @subjectid = headers[:subjectid] ? headers[:subjectid] : nil 
         bad_request_error "Invalid URI: '#{uri}'" unless URI.valid? uri
-        not_found_error "URI '#{uri}' not found." unless URI.accessible? uri unless URI.ssl?(uri)
+        not_found_error "URI '#{uri}' not found." unless URI.accessible?(uri, @subjectid) unless URI.ssl?(uri)
         bad_request_error "Headers are not a hash: #{headers.inspect}" unless headers==nil or headers.is_a?(Hash)
         # make sure that no header parameters are set in the payload
         [:accept,:content_type,:subjectid].each do |header|
-          bad_request_error "#{header} should be submitted in the headers" if payload and payload.is_a?(Hash) and payload[header] unless URI(uri).host == URI(AA).host 
+          bad_request_error "#{header} should be submitted in the headers" if payload and payload.is_a?(Hash) and payload[header] unless URI(uri).host == URI($aa[:uri]).host 
         end
       
         # create request