Commit 7f6f5dce authored by Paul Asmuth's avatar Paul Asmuth
Browse files

allow insertion of custom middleware

parent 33270231
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -5,7 +5,8 @@ FnordMetric v1.0
BACKLOG
-------

- password protection
- enable websockets in ha

- gauge-view: interval selection dropdown 
- report: print number of samples, interval-size on topright via scalaexp-buttonstyle

+14 −3
Original line number Diff line number Diff line
@@ -13,6 +13,8 @@ class FnordMetric::Web
  def initialized
    server = @opts[:server].downcase

    middleware_stack = @opts[:use]

    websocket = FnordMetric::WebSocket.new
    webapp    = FnordMetric::App.new(@opts)

@@ -20,8 +22,17 @@ class FnordMetric::Web
      use Rack::CommonLogger
      use Rack::ShowExceptions

      map("/stream"){ run websocket }
      map("/"){ run webapp }
      map "/stream" do
        run websocket
      end
      
      map "/" do
        middleware_stack.each do |middleware| 
          use(*middleware[0..1], &middleware[2])
        end

        run webapp
      end
    end

    unless ["thin", "hatetepe"].include? server