Sha256: 3ee3a3ef94c977e6ff20b70b27e25488c97148be27d69daa9492e733b204e6b6

Contents?: true

Size: 722 Bytes

Versions: 3

Compression:

Stored size: 722 Bytes

Contents

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

3 entries across 3 versions & 1 rubygems

Version Path
oxidized-web-0.2.0 lib/oxidized/web.rb
oxidized-web-0.1.2 lib/oxidized/web.rb
oxidized-web-0.1.1 lib/oxidized/web.rb