Class: Xtb::Http::Client

Inherits:
Object
  • Object
show all
Includes:
RequestQueue
Defined in:
lib/xtb/http/client.rb

Overview

Client for XTB API.

Class Method Summary collapse

Instance Method Summary collapse

Methods included from RequestQueue

included

Constructor Details

#initializeClient

Returns a new instance of Client.



15
16
17
# File 'lib/xtb/http/client.rb', line 15

def initialize
  @ssl_socket = new_ssl_socket
end

Class Method Details

.postObject

Sends a request to the broker server. It utilizes a connection pool to manage connections.



20
21
22
23
24
25
26
# File 'lib/xtb/http/client.rb', line 20

def self.post
  connection_pool.with do |connection|
    with_request_queue do
      yield connection
    end
  end
end

Instance Method Details

#request(payload) ⇒ Object



28
29
30
31
# File 'lib/xtb/http/client.rb', line 28

def request(payload)
  ssl_socket.puts(payload)
  response
end

#stream_session_idObject



33
34
35
# File 'lib/xtb/http/client.rb', line 33

def stream_session_id
  @stream_session_id ||= BrokerClients::Xtb::Login.call.stream_session_id
end