summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--application.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/application.rb b/application.rb
index 76b22c0..310360c 100644
--- a/application.rb
+++ b/application.rb
@@ -9,17 +9,23 @@ get %r{/(.+)} do |inchi| # catches all remaining get requests
inchi = URI.unescape request.env['REQUEST_URI'].sub(/^\//,'').sub(/.*\/compound\//,'') # hack to avoid sinatra's URI/CGI unescaping, splitting, ..."
case request.env['HTTP_ACCEPT']
when "*/*"
+ response['Content-Type'] = "chemical/x-daylight-smiles"
OpenTox::Compound.new(:inchi => inchi).smiles
when "chemical/x-daylight-smiles"
+ response['Content-Type'] = "chemical/x-daylight-smiles"
OpenTox::Compound.new(:inchi => inchi).smiles
when "chemical/x-inchi"
+ response['Content-Type'] = "chemical/x-inchi"
inchi
when "chemical/x-mdl-sdfile"
+ response['Content-Type'] = "chemical/x-mdl-sdfile"
OpenTox::Compound.new(:inchi => inchi).sdf
when "image/gif"
+ response['Content-Type'] = "image/gif"
OpenTox::Compound.new(:inchi => inchi).image
#"#{CACTUS_URI}#{inchi}/image"
when "text/plain"
+ response['Content-Type'] = "text/plain"
uri = File.join CACTUS_URI,inchi,"names"
RestClient.get(uri).to_s
else
@@ -30,6 +36,7 @@ end
post '/?' do
input = request.env["rack.input"].read
+ response['Content-Type'] = 'text/uri-list'
case request.content_type
when /chemical\/x-daylight-smiles/
OpenTox::Compound.new(:smiles => input).uri