Class: VectorAmp::Transport::HTTP
- Defined in:
- lib/vector_amp/transport/http.rb
Constant Summary collapse
- DEFAULT_TIMEOUT =
60
Instance Method Summary collapse
-
#initialize(base_url:, api_key:, timeout: DEFAULT_TIMEOUT) ⇒ HTTP
constructor
A new instance of HTTP.
- #request(method, path, query: nil, body: nil, headers: {}, stream: false, raw: false, &block) ⇒ Object
Constructor Details
#initialize(base_url:, api_key:, timeout: DEFAULT_TIMEOUT) ⇒ HTTP
Returns a new instance of HTTP.
15 16 17 18 19 |
# File 'lib/vector_amp/transport/http.rb', line 15 def initialize(base_url:, api_key:, timeout: DEFAULT_TIMEOUT) @base_uri = URI(base_url) @api_key = api_key @timeout = timeout end |
Instance Method Details
#request(method, path, query: nil, body: nil, headers: {}, stream: false, raw: false, &block) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/vector_amp/transport/http.rb', line 21 def request(method, path, query: nil, body: nil, headers: {}, stream: false, raw: false, &block) uri = build_uri(path, query) request = build_request(method, uri, body, headers) Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https", open_timeout: @timeout, read_timeout: @timeout) do |http| if stream return stream_response(http, request, &block) end response = http.request(request) handle_response(response, raw: raw) end end |