Class: DatawireQuarkCore::Servers
- Inherits:
-
Object
- Object
- DatawireQuarkCore::Servers
- Includes:
- Celluloid
- Defined in:
- lib/datawire-quark-core.rb
Instance Method Summary collapse
- #add(adapter) ⇒ Object
-
#initialize(events) ⇒ Servers
constructor
A new instance of Servers.
Constructor Details
#initialize(events) ⇒ Servers
Returns a new instance of Servers.
769 770 771 772 |
# File 'lib/datawire-quark-core.rb', line 769 def initialize(events) @servers = {} @events= events end |
Instance Method Details
#add(adapter) ⇒ Object
773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 |
# File 'lib/datawire-quark-core.rb', line 773 def add(adapter) if not adapter.scheme_supported? error = "${adapter.uri.scheme} is not supported" @events.event { adapter.servlet.onServletError(adapter.url, ::Quark.quark.ServletError.new(error)) } return end if adapter.secure? error = "${adapter.uri.scheme} is not yet supported" @events.event { adapter.servlet.onServletError(adapter.url, ::Quark.quark.ServletError.new(error)) } return end server = @servers[adapter.key] if server.nil? if adapter.secure? server = HTTPSServer.new(adapter.uri.hostname, adapter.uri.port, @events) else server = HTTPServer.new(adapter.uri.hostname, adapter.uri.port, @events) end # in case the port was 0 this will mutate the #effective_url, and #key of adapter adapter.uri.port = server.local_address.ip_port @servers[adapter.key] = server end server.add(adapter) end |