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
|
# File 'lib/scms/scms-httpserver.rb', line 8
def ScmsServer.start(root_document, port, hostname="localhost")
portopen = ScmsUtils.port_open? hostname, port
puts "Port Open: #{portopen}"
if !portopen
puts "Starting server: http://#{hostname}:#{port}"
server = HTTPServer.new(
:DocumentRoot => root_document,
:Port => port,
:BindAddress => hostname
)
mime_types_file = File.expand_path('../../assets/mime.types', File.dirname(__FILE__))
WEBrick::HTTPUtils::load_mime_types(mime_types_file)
trap("INT"){
puts "Closed http server"
server.shutdown
}
else
puts "Server already running on port: #{port}"
end
uri = "http://#{hostname}:#{port}"
Launchy.open( uri ) do |exception|
puts "Attempted to open #{uri} and failed because #{exception}"
end
if !portopen
begin
server.start
rescue SystemExit, Interrupt
puts "Closing web brick"
server.start
rescue StandardError => e
puts "StandardError"
server.shutdown
rescue Exception => e
puts "scms-server exception"
rais e
end
end
end
|