lib/web-puppet.rb in web-puppet-0.0.1 vs lib/web-puppet.rb in web-puppet-0.1.0

- old
+ new

@@ -29,7 +29,35 @@ response = Rack::Response.new response.header['Content-Type'] = 'application/json' response.write JSON.pretty_generate(data) response.finish end + + def add_auth(conf) + application = Rack::Auth::Basic.new(self) do |username, password| + stored_username = conf.get_value('username') + username_check = stored_username ? stored_username == username : true + password_check = conf.get_value('password') == password + username_check && password_check + end + application.realm = 'Web Puppet' + application + end + + def self.run!(options) + application = self.new + + daemonize = options[:daemonize] + port = options[:port] + + if options[:config] + conf = ParseConfig.new(options[:config]) + application = application.add_auth(conf) if conf.get_value('password') + daemonize = conf.get_value('daemonize') ? conf.get_value('daemonize') == "true" : daemonize + port = conf.get_value('port') ? conf.get_value('port') : port + end + + Rack::Server.new(:app => application, :Port => port, :daemonize => daemonize).start + + end end end