dogapi 1.40.0 → 1.41.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/dogapi/common.rb +12 -2
- data/lib/dogapi/version.rb +1 -1
- data/spec/unit/common_spec.rb +9 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bedd02d8446f4dfce31b9a2b375da5376860490ea6122e3829db203c51f2120b
|
4
|
+
data.tar.gz: 8378113bb0b466b3cf6b9e05622c1386691492e474d8c64f5fe8c742b60b32ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84dd004b3f9cc6e55f4523339690ee1e8688e45d53febeb10d472cbf510b5a42caf9caeb0a9f0e86721887aba0fa48adc694a7b67aa21da4984d3752001a1d81
|
7
|
+
data.tar.gz: eb764eb19d7b150798e758487bf1457fc7d245cbbc9315d99b7616ea3eddf4d79d061e30cf423924aa6930cae9be98eb7ff88339ee11a3cb959f9c78f8dd6eec
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Changes
|
2
2
|
|
3
|
+
## 1.41.0 / 2020-07-27
|
4
|
+
|
5
|
+
* [Added] Improve user-agent header to include telemetry information. See [#235](https://github.com/DataDog/dogapi-rb/pull/235).
|
6
|
+
* [Added] Move setting hostname to end of method body in order to actually return it. See [#233](https://github.com/DataDog/dogapi-rb/pull/233).
|
7
|
+
|
3
8
|
## 1.40.0 / 2020-04-06
|
4
9
|
|
5
10
|
* [Added] Re-add service level objectives support. See [#224](https://github.com/DataDog/dogapi-rb/pull/224).
|
data/lib/dogapi/common.rb
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
|
5
5
|
require 'cgi'
|
6
6
|
require 'net/https'
|
7
|
+
require 'rbconfig'
|
7
8
|
require 'socket'
|
8
9
|
require 'uri'
|
9
10
|
require 'English'
|
@@ -13,7 +14,16 @@ require 'multi_json'
|
|
13
14
|
require 'set'
|
14
15
|
require 'open3'
|
15
16
|
|
17
|
+
require 'dogapi/version'
|
18
|
+
|
16
19
|
module Dogapi
|
20
|
+
USER_AGENT = format(
|
21
|
+
'dogapi-rb/%<version>s (ruby %<ruver>s; os %<os>s; arch %<arch>s)',
|
22
|
+
version: VERSION,
|
23
|
+
ruver: RUBY_VERSION,
|
24
|
+
os: RbConfig::CONFIG['host_os'].downcase,
|
25
|
+
arch: RbConfig::CONFIG['host_cpu']
|
26
|
+
)
|
17
27
|
|
18
28
|
# Metadata class to hold the scope of an API call
|
19
29
|
class Scope
|
@@ -138,11 +148,11 @@ module Dogapi
|
|
138
148
|
def prepare_request(method, url, params, body, send_json, with_app_key)
|
139
149
|
url_with_params = url + params
|
140
150
|
req = method.new(url_with_params)
|
151
|
+
req['User-Agent'] = USER_AGENT
|
141
152
|
unless should_set_api_and_app_keys_in_params?(url)
|
142
153
|
req['DD-API-KEY'] = @api_key
|
143
154
|
req['DD-APPLICATION-KEY'] = @application_key if with_app_key
|
144
155
|
end
|
145
|
-
|
146
156
|
if send_json
|
147
157
|
req.content_type = 'application/json'
|
148
158
|
req.body = MultiJson.dump(body)
|
@@ -202,9 +212,9 @@ module Dogapi
|
|
202
212
|
def Dogapi.find_localhost
|
203
213
|
unless @@hostname
|
204
214
|
out, status = Open3.capture2('hostname', '-f', err: File::NULL)
|
205
|
-
@@hostname = out.strip
|
206
215
|
# Get status to check if the call was successful
|
207
216
|
raise SystemCallError, 'Could not get hostname with `hostname -f`' unless status.exitstatus.zero?
|
217
|
+
@@hostname = out.strip
|
208
218
|
end
|
209
219
|
rescue SystemCallError
|
210
220
|
@@hostname = Addrinfo.getaddrinfo(Socket.gethostname, nil, nil, nil, nil, Socket::AI_CANONNAME).first.canonname
|
data/lib/dogapi/version.rb
CHANGED
data/spec/unit/common_spec.rb
CHANGED
@@ -134,6 +134,15 @@ describe 'Common' do
|
|
134
134
|
expect(req['DD-APPLICATION-KEY']).to eq service.application_key
|
135
135
|
end
|
136
136
|
end
|
137
|
+
|
138
|
+
it 'properly sets User-Agent header' do
|
139
|
+
service = Dogapi::APIService.new('api_key', 'app_key', true, nil, 'https://app.example.com')
|
140
|
+
params = service.prepare_params(nil, '/api/v1/validate', true)
|
141
|
+
req = service.prepare_request(Net::HTTP::Get, '/api/v1/validate', params, nil, false, true)
|
142
|
+
|
143
|
+
expect(req.key?('User-Agent')).to be true
|
144
|
+
expect(req['User-Agent']).to match(%r{dogapi-rb\/[^\s]+ \(ruby [^\s]+; os [^\s]+; arch [^\s]+\)})
|
145
|
+
end
|
137
146
|
end
|
138
147
|
end
|
139
148
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dogapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.41.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Datadog, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -198,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
198
|
- !ruby/object:Gem::Version
|
199
199
|
version: '0'
|
200
200
|
requirements: []
|
201
|
-
rubygems_version: 3.0.
|
201
|
+
rubygems_version: 3.0.3
|
202
202
|
signing_key:
|
203
203
|
specification_version: 4
|
204
204
|
summary: Ruby bindings for Datadog's API
|