|
Revision 6, 1.5 kB
(checked in by jeremymcanal..@gmail.com, 9 months ago)
|
DRY'ing up the ErrorReporter?
Small fixes/tweaks to hoe config
Added rescue for Mongrel::StopServer?
|
| Line | |
|---|
| 1 |
require 'rubygems' |
|---|
| 2 |
|
|---|
| 3 |
require 'erubis' |
|---|
| 4 |
|
|---|
| 5 |
require 'vintage/version' |
|---|
| 6 |
require 'vintage/log' |
|---|
| 7 |
require 'vintage/helpers' |
|---|
| 8 |
|
|---|
| 9 |
begin |
|---|
| 10 |
require 'swiftcore/evented_mongrel' |
|---|
| 11 |
rescue |
|---|
| 12 |
# Don't have it? No problem! |
|---|
| 13 |
end |
|---|
| 14 |
|
|---|
| 15 |
require 'rack' |
|---|
| 16 |
require 'rack/file' |
|---|
| 17 |
|
|---|
| 18 |
begin |
|---|
| 19 |
Dir.entries("helpers/").select{|entry| entry =~ }.each do |helper_file| |
|---|
| 20 |
Vintage::Helpers.module_eval(File.open(helper_file).read) |
|---|
| 21 |
end |
|---|
| 22 |
rescue |
|---|
| 23 |
# No helpers |
|---|
| 24 |
end |
|---|
| 25 |
|
|---|
| 26 |
module Vintage |
|---|
| 27 |
# Launches the Mongrel handler. |
|---|
| 28 |
class Server |
|---|
| 29 |
def self.run(options) |
|---|
| 30 |
Log.enter "- vintage version #{VERSION::STRING}" |
|---|
| 31 |
Log.enter "\t starting server on port #{options[:port]}" |
|---|
| 32 |
Log.enter |
|---|
| 33 |
|
|---|
| 34 |
application = Handler.new(options) |
|---|
| 35 |
|
|---|
| 36 |
server = Rack::Handler::Mongrel |
|---|
| 37 |
|
|---|
| 38 |
case options[:server] |
|---|
| 39 |
when "mongrel" |
|---|
| 40 |
server = Rack::Handler::Mongrel |
|---|
| 41 |
when "thin" |
|---|
| 42 |
begin |
|---|
| 43 |
require 'thin' |
|---|
| 44 |
server = Rack::Handler::Thin |
|---|
| 45 |
rescue LoadError |
|---|
| 46 |
puts "You don't have Thin installed!" |
|---|
| 47 |
exit |
|---|
| 48 |
end |
|---|
| 49 |
when "webrick" |
|---|
| 50 |
server = Rack::Handler::WEBrick |
|---|
| 51 |
when "cgi" |
|---|
| 52 |
server = Rack::Handler::CGI |
|---|
| 53 |
when "fastcgi" |
|---|
| 54 |
server = Rack::Handler::FastCGI |
|---|
| 55 |
end |
|---|
| 56 |
|
|---|
| 57 |
server.run application, {:Port => options[:port], :Host => "0.0.0.0", :AccessLog => []} |
|---|
| 58 |
rescue Interrupt, Mongrel::StopServer |
|---|
| 59 |
Log.enter |
|---|
| 60 |
Log.enter "- interrupt signal caught" |
|---|
| 61 |
Log.enter "\tshutting server down" |
|---|
| 62 |
Log.enter |
|---|
| 63 |
exit 0 |
|---|
| 64 |
end |
|---|
| 65 |
end |
|---|
| 66 |
end |
|---|