1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
require "sinatra"
require "sinatra/reloader"
require 'sinatra/cross_origin'
configure do
$logger = Logger.new(STDOUT)
enable :reloader #if development?
enable :cross_origin
disable :show_exceptions
disable :raise_errors
end
#set :protection, :except => :frame_options
# Environment setup from unicorn -E param
ENV["LAZAR_ENV"] = ENV["RACK_ENV"]
require "../lazar/lib/lazar.rb"
require "../qsar-report/lib/qsar-report.rb"
=begin
if ENV["LAZAR_ENV"] == "development"
require "../lazar/lib/lazar.rb"
require "../qsar-report/lib/qsar-report.rb"
else
require "lazar"
require "qsar-report"
end
=end
include OpenTox
before do
@accept = request.env['HTTP_ACCEPT']
response['Content-Type'] = @accept
end
not_found do
400
"Path '#{request.env["REQUEST_PATH"]}' not found.\n"
end
error do
response['Content-Type'] = "text/plain"
error = request.env['sinatra.error']
body = error.message+"\n"
error.respond_to?(:http_code) ? code = error.http_code : code = 500
halt code, body
end
# https://github.com/britg/sinatra-cross_origin#responding-to-options
options "*" do
response.headers["Allow"] = "HEAD,GET,PUT,POST,DELETE,OPTIONS"
response.headers["Access-Control-Allow-Headers"] = "X-Requested-With, X-HTTP-Method-Override, Content-Type, Cache-Control, Accept"
200
end
[
"aa.rb",
"api.rb",
"compound.rb",
"dataset.rb",
"feature.rb",
"model.rb",
"nanoparticle.rb",
"report.rb",
"substance.rb",
"swagger.rb",
"validation.rb"
].each{ |f| require_relative f }
|