Class: Daemon::Utils::CommandsServer::UNIXServerClient
- Inherits:
-
Object
- Object
- Daemon::Utils::CommandsServer::UNIXServerClient
- Defined in:
- lib/onapp/engine/utils/commands_server/unix_server_client.rb
Instance Method Summary (collapse)
-
- (UNIXServerClient) initialize(server)
constructor
A new instance of UNIXServerClient.
- - (Object) request(cmd)
Constructor Details
- (UNIXServerClient) initialize(server)
Returns a new instance of UNIXServerClient
5 6 7 8 |
# File 'lib/onapp/engine/utils/commands_server/unix_server_client.rb', line 5 def initialize(server) @server = server @buffer = "" end |
Instance Method Details
- (Object) request(cmd)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/onapp/engine/utils/commands_server/unix_server_client.rb', line 10 def request(cmd) cmd = cmd.gsub(/\r?\n/, "") + "\n" response = nil raise "#{@server} socket doesn't exist" unless File.exists?(@server) UNIXSocket.open(@server) do |socket| socket.write(cmd) until (response = @buffer.slice!(/(.*?)\r?\n/)) @buffer << socket.recv(1024) end end JSON.parse(response) rescue response ensure @buffer.clear end |