Class: DebugBundle::Transport::HttpConfigFetcher
- Inherits:
-
Object
- Object
- DebugBundle::Transport::HttpConfigFetcher
- Defined in:
- lib/debugbundle/transport.rb
Instance Method Summary collapse
- #call(etag = nil) ⇒ Object
-
#initialize(endpoint, project_token:, sdk_name:, sdk_version:) ⇒ HttpConfigFetcher
constructor
A new instance of HttpConfigFetcher.
Constructor Details
#initialize(endpoint, project_token:, sdk_name:, sdk_version:) ⇒ HttpConfigFetcher
Returns a new instance of HttpConfigFetcher.
84 85 86 87 88 89 |
# File 'lib/debugbundle/transport.rb', line 84 def initialize(endpoint, project_token:, sdk_name:, sdk_version:) @uri = URI.parse(Transport.sdk_config_endpoint(endpoint)) @project_token = project_token @sdk_name = sdk_name @sdk_version = sdk_version end |
Instance Method Details
#call(etag = nil) ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/debugbundle/transport.rb', line 91 def call(etag = nil) http = Net::HTTP.new(@uri.host, @uri.port) http.use_ssl = @uri.scheme == 'https' http.open_timeout = 5 http.read_timeout = 5 request = Net::HTTP::Get.new(@uri.request_uri) request['Authorization'] = "Bearer #{@project_token}" request['Accept'] = 'application/json' request['X-DebugBundle-SDK'] = @sdk_name request['X-DebugBundle-SDK-Version'] = @sdk_version request['If-None-Match'] = etag if etag response = http.request(request) body = response.body.to_s.empty? ? {} : JSON.parse(response.body) { status_code: response.code.to_i, etag: response['ETag'], body: body } rescue StandardError { status_code: 500, body: {} } end |