Commit 691fee5c authored by Lars Gierth's avatar Lars Gierth
Browse files

Use Rack::Server to allow the use of other webservers

parent 442fa5b1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ gem "rack-test"
gem "yajl-ruby", :git => "git://github.com/brianmario/yajl-ruby.git"
gem "thin"
gem "activesupport"
gem "hatetepe"

group :development do  
  gem "delorean", ">= 0" 
+10 −7
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ require "active_support/core_ext"
require 'yajl'
require 'sinatra/base'
require 'haml'
require 'thin'
require 'rack/server'

module FnordMetric

@@ -27,6 +27,7 @@ module FnordMetric

    opts[:inbound_stream] ||= ["0.0.0.0", "1337"]
    opts[:web_interface] ||= ["0.0.0.0", "4242"]
    opts[:web_interface_server] ||= "thin"

    opts[:start_worker] ||= true
    opts[:print_stats] ||= 3
@@ -52,14 +53,16 @@ module FnordMetric
      app = embedded(opts)

      if opts[:web_interface]
        begin
          Thin::Server.start(*opts[:web_interface], app)
          log "listening on http##{opts[:web_interface].join(":")}"
        rescue Exception => e
          log "cant start FnordMetric::App. port in use?"
        end
        server = opts[:web_interface_server].downcase
        unless ["thin", "hatetepe"].include? server
          raise "Need an EventMachine webserver, but #{server} isn't"
        end

        host, port = *opts[:web_interface]
        Rack::Server.start :app => app, :server => server,
                           :Host => host, :Port => port
        log "listening on http://#{host}:#{port}"
      end
    end
  end