(Not documented)
# File lib/rack/server.rb, line 119
119: def self.middleware
120: @middleware ||= begin
121: m = Hash.new {|h,k| h[k] = []}
122: m["deployment"].concat [lambda {|server| server.server =~ /CGI/ ? nil : [Rack::CommonLogger, $stderr] }]
123: m["development"].concat m["deployment"] + [[Rack::ShowExceptions], [Rack::Lint]]
124: m
125: end
126: end
(Not documented)
# File lib/rack/server.rb, line 107
107: def app
108: @app ||= begin
109: if !::File.exist? options[:config]
110: abort "configuration #{options[:config]} not found"
111: end
112:
113: app, options = Rack::Builder.parse_file(self.options[:config], opt_parser)
114: self.options.merge! options
115: app
116: end
117: end
(Not documented)
# File lib/rack/server.rb, line 96
96: def default_options
97: {
98: :environment => "development",
99: :pid => nil,
100: :Port => 9292,
101: :Host => "0.0.0.0",
102: :AccessLog => [],
103: :config => "config.ru"
104: }
105: end
(Not documented)
# File lib/rack/server.rb, line 128
128: def middleware
129: self.class.middleware
130: end
(Not documented)
# File lib/rack/server.rb, line 92
92: def options
93: @options ||= parse_options(ARGV)
94: end
(Not documented)
# File lib/rack/server.rb, line 158
158: def server
159: @_server ||= Rack::Handler.get(options[:server]) || Rack::Handler.default
160: end
(Not documented)
# File lib/rack/server.rb, line 132
132: def start
133: if options[:debug]
134: $DEBUG = true
135: require 'pp'
136: p options[:server]
137: pp wrapped_app
138: pp app
139: end
140:
141: if options[:warn]
142: $-w = true
143: end
144:
145: if includes = options[:include]
146: $LOAD_PATH.unshift *includes
147: end
148:
149: if library = options[:require]
150: require library
151: end
152:
153: daemonize_app if options[:daemonize]
154: write_pid if options[:pid]
155: server.run wrapped_app, options
156: end
(Not documented)
# File lib/rack/server.rb, line 178
178: def build_app(app)
179: middleware[options[:environment]].reverse_each do |middleware|
180: middleware = middleware.call(self) if middleware.respond_to?(:call)
181: next unless middleware
182: klass = middleware.shift
183: app = klass.new(app, *middleware)
184: end
185: app
186: end
(Not documented)
# File lib/rack/server.rb, line 192
192: def daemonize_app
193: if RUBY_VERSION < "1.9"
194: exit if fork
195: Process.setsid
196: exit if fork
197: Dir.chdir "/"
198: ::File.umask 0000
199: STDIN.reopen "/dev/null"
200: STDOUT.reopen "/dev/null", "a"
201: STDERR.reopen "/dev/null", "a"
202: else
203: Process.daemon
204: end
205: end
(Not documented)
# File lib/rack/server.rb, line 174
174: def opt_parser
175: Options.new
176: end
(Not documented)
# File lib/rack/server.rb, line 163
163: def parse_options(args)
164: options = default_options
165:
166: # Don't evaluate CGI ISINDEX parameters.
167: # http://hoohoo.ncsa.uiuc.edu/cgi/cl.html
168: args.clear if ENV.include?("REQUEST_METHOD")
169:
170: options.merge! opt_parser.parse! args
171: options
172: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.