Sha256: f110d119307ec152aac1a9a1eca02b11cf84838679660bfa5247d8e08bbfa9af

Contents?: true

Size: 731 Bytes

Versions: 5

Compression:

Stored size: 731 Bytes

Contents

require 'json'

module Oxidized
  module API
    class Web
      require 'rack/handler'
      attr_reader :thread
      Rack::Handler::WEBrick = Rack::Handler.get(:puma)
      def initialize nodes, listen
        require 'oxidized/web/webapp'
        listen, uri = listen.split '/'
        addr, port = listen.split ':'
        port, addr = addr, nil if not port
        uri = '/' + uri.to_s
        @opts = {
          :Host => addr,
          :Port => port,
        }
        WebApp.set :nodes, nodes
        @app = Rack::Builder.new do
          map uri do
            run WebApp
          end
        end
      end

      def run
        @thread = Thread.new { Rack::Handler::Puma.run @app, @opts }
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
oxidized-web-0.5.2 lib/oxidized/web.rb
oxidized-web-0.5.1 lib/oxidized/web.rb
oxidized-web-0.5.0 lib/oxidized/web.rb
oxidized-web-0.4.0 lib/oxidized/web.rb
oxidized-web-0.3.0 lib/oxidized/web.rb