Class: Hackle::HTTP
- Inherits:
-
Object
- Object
- Hackle::HTTP
- Defined in:
- lib/hackle/http/http.rb
Class Method Summary collapse
- .check_successful(status_code:) ⇒ Object
- .client(base_uri:) ⇒ Object
- .sdk_headers(sdk_info:) ⇒ Object
- .successful?(status_code:) ⇒ Boolean
Class Method Details
.check_successful(status_code:) ⇒ Object
31 32 33 34 35 |
# File 'lib/hackle/http/http.rb', line 31 def self.check_successful(status_code:) unless successful?(status_code: status_code) raise UnexpectedResponseError, "HTTP status code #{status_code}" end end |
.client(base_uri:) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/hackle/http/http.rb', line 10 def self.client(base_uri:) uri = URI.parse(base_uri) client = Net::HTTP.new(uri.host, uri.port) client.use_ssl = uri.scheme == 'https' client.open_timeout = 5 client.read_timeout = 10 client end |
.sdk_headers(sdk_info:) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/hackle/http/http.rb', line 19 def self.sdk_headers(sdk_info:) { 'X-HACKLE-SDK-KEY' => sdk_info.key, 'X-HACKLE-SDK-NAME' => sdk_info.name, 'X-HACKLE-SDK-VERSION' => sdk_info.version } end |
.successful?(status_code:) ⇒ Boolean
27 28 29 |
# File 'lib/hackle/http/http.rb', line 27 def self.successful?(status_code:) status_code >= 200 && status_code < 300 end |