influxdb-client 1.2.0.pre.618 → 1.2.0.pre.639
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -0
- data/lib/influxdb2/client/default_api.rb +20 -2
- data/lib/influxdb2/client/delete_api.rb +1 -1
- data/lib/influxdb2/client/query_api.rb +1 -1
- data/lib/influxdb2/client/write_api.rb +1 -1
- data/test/influxdb/delete_api_test.rb +2 -1
- data/test/influxdb/query_api_test.rb +3 -2
- data/test/influxdb/write_api_integration_test.rb +1 -0
- data/test/influxdb/write_api_test.rb +3 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 172c1e4bb1951e9314cd52824e3f09fe64a5148dd9c2c89fa143d66cdfd3fd93
|
4
|
+
data.tar.gz: 3eed57dd71787b1341fe487ba3d03e20902a4f3fd97f690b56f0408b6778b1c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eaf2473a3cbbac664343fbe2648d18331f5f0d5b0eac484d255a9fb11d7841ad4f970a08bf3a16987ce150938e86637e15f4c335b61092baa041ad629cd9d600
|
7
|
+
data.tar.gz: acafe6bc8ae5987b6bf0b0e57c3bb692d21ddfdb1263c5213b75c4f895f7a1966705d1d5cf3c8cb842e23616dc38f4d9b3c4b1b4920011498d30db671420adf1
|
data/CHANGELOG.md
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
### Bugs
|
12
12
|
1. [#22](https://github.com/influxdata/influxdb-client-ruby/pull/22): Fixed batch write
|
13
13
|
1. [#28](https://github.com/influxdata/influxdb-client-ruby/pull/28): Correctly parse CSV where multiple results include multiple tables
|
14
|
+
1. [#30](https://github.com/influxdata/influxdb-client-ruby/pull/30): Send Content-Type headers
|
14
15
|
|
15
16
|
## 1.1.0 [2020-02-14]
|
16
17
|
|
@@ -24,6 +24,8 @@ module InfluxDB2
|
|
24
24
|
DEFAULT_TIMEOUT = 10
|
25
25
|
DEFAULT_REDIRECT_COUNT = 10
|
26
26
|
|
27
|
+
HEADER_CONTENT_TYPE = 'Content-Type'.freeze
|
28
|
+
|
27
29
|
# @param [Hash] options The options to be used by the client.
|
28
30
|
def initialize(options:)
|
29
31
|
@options = options
|
@@ -32,7 +34,17 @@ module InfluxDB2
|
|
32
34
|
|
33
35
|
private
|
34
36
|
|
35
|
-
def
|
37
|
+
def _post_json(payload, uri, headers: {})
|
38
|
+
_check_arg_type(:headers, headers, Hash)
|
39
|
+
_post(payload, uri, headers: headers.merge(HEADER_CONTENT_TYPE => 'application/json'))
|
40
|
+
end
|
41
|
+
|
42
|
+
def _post_text(payload, uri, headers: {})
|
43
|
+
_check_arg_type(:headers, headers, Hash)
|
44
|
+
_post(payload, uri, headers: headers.merge(HEADER_CONTENT_TYPE => 'text/plain'))
|
45
|
+
end
|
46
|
+
|
47
|
+
def _post(payload, uri, limit: @max_redirect_count, headers: {})
|
36
48
|
raise InfluxError.from_message("Too many HTTP redirects. Exceeded limit: #{@max_redirect_count}") if limit.zero?
|
37
49
|
|
38
50
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -44,6 +56,8 @@ module InfluxDB2
|
|
44
56
|
request = Net::HTTP::Post.new(uri.request_uri)
|
45
57
|
request['Authorization'] = "Token #{@options[:token]}"
|
46
58
|
request['User-Agent'] = "influxdb-client-ruby/#{InfluxDB2::VERSION}"
|
59
|
+
headers.each { |k, v| request[k] = v }
|
60
|
+
|
47
61
|
request.body = payload
|
48
62
|
|
49
63
|
begin
|
@@ -53,7 +67,7 @@ module InfluxDB2
|
|
53
67
|
response
|
54
68
|
when Net::HTTPRedirection then
|
55
69
|
location = response['location']
|
56
|
-
_post(payload, URI.parse(location), limit - 1)
|
70
|
+
_post(payload, URI.parse(location), limit: limit - 1, headers: headers)
|
57
71
|
else
|
58
72
|
raise InfluxError.from_response(response)
|
59
73
|
end
|
@@ -62,6 +76,10 @@ module InfluxDB2
|
|
62
76
|
end
|
63
77
|
end
|
64
78
|
|
79
|
+
def _check_arg_type(name, value, klass)
|
80
|
+
raise TypeError, "expected a #{klass.name} for #{name}; got #{value.class.name}" unless value.is_a?(klass)
|
81
|
+
end
|
82
|
+
|
65
83
|
def _check(key, value)
|
66
84
|
raise ArgumentError, "The '#{key}' should be defined as argument or default option: #{@options}" if value.nil?
|
67
85
|
end
|
@@ -64,7 +64,7 @@ module InfluxDB2
|
|
64
64
|
uri = URI.parse(File.join(@options[:url], '/api/v2/delete'))
|
65
65
|
uri.query = URI.encode_www_form(org: org_param, bucket: bucket_param)
|
66
66
|
|
67
|
-
|
67
|
+
_post_json(delete_request.to_body.to_json, uri)
|
68
68
|
end
|
69
69
|
|
70
70
|
def _to_rfc3339(time)
|
@@ -73,7 +73,7 @@ module InfluxDB2
|
|
73
73
|
uri = URI.parse(File.join(@options[:url], '/api/v2/query'))
|
74
74
|
uri.query = URI.encode_www_form(org: org_param)
|
75
75
|
|
76
|
-
|
76
|
+
_post_json(payload.to_body.to_json, uri)
|
77
77
|
end
|
78
78
|
|
79
79
|
def _generate_payload(query, dialect)
|
@@ -163,7 +163,7 @@ module InfluxDB2
|
|
163
163
|
uri = URI.parse(File.join(@options[:url], '/api/v2/write'))
|
164
164
|
uri.query = URI.encode_www_form(bucket: bucket_param, org: org_param, precision: precision_param.to_s)
|
165
165
|
|
166
|
-
|
166
|
+
_post_text(payload, uri)
|
167
167
|
end
|
168
168
|
|
169
169
|
# Item for batching queue
|
@@ -112,7 +112,8 @@ class DeleteApiTest < MiniTest::Test
|
|
112
112
|
body = '{"start":"2019-02-03T04:05:06+07:00","stop":"2019-04-03T04:05:06+07:00"}'
|
113
113
|
headers = {
|
114
114
|
'Authorization' => 'Token my-token',
|
115
|
-
'User-Agent' => "influxdb-client-ruby/#{InfluxDB2::VERSION}"
|
115
|
+
'User-Agent' => "influxdb-client-ruby/#{InfluxDB2::VERSION}",
|
116
|
+
'Content-Type' => 'application/json'
|
116
117
|
}
|
117
118
|
assert_requested(:post, 'http://localhost:9999/api/v2/delete?bucket=my-bucket&org=my-org',
|
118
119
|
times: 1, body: body, headers: headers)
|
@@ -73,7 +73,7 @@ class QueryApiTest < MiniTest::Test
|
|
73
73
|
assert_equal 'free', record1.field
|
74
74
|
end
|
75
75
|
|
76
|
-
def
|
76
|
+
def test_headers
|
77
77
|
stub_request(:post, 'http://localhost:9999/api/v2/query?org=my-org')
|
78
78
|
.to_return(body: SUCCESS_DATA)
|
79
79
|
|
@@ -87,7 +87,8 @@ class QueryApiTest < MiniTest::Test
|
|
87
87
|
|
88
88
|
headers = {
|
89
89
|
'Authorization' => 'Token my-token',
|
90
|
-
'User-Agent' => "influxdb-client-ruby/#{InfluxDB2::VERSION}"
|
90
|
+
'User-Agent' => "influxdb-client-ruby/#{InfluxDB2::VERSION}",
|
91
|
+
'Content-Type' => 'application/json'
|
91
92
|
}
|
92
93
|
assert_requested(:post, 'http://localhost:9999/api/v2/query?org=my-org',
|
93
94
|
times: 1, headers: headers)
|
@@ -61,6 +61,7 @@ class WriteApiIntegrationTest < MiniTest::Test
|
|
61
61
|
uri = URI.parse('http://localhost:9999/api/v2/query?org=my-org')
|
62
62
|
request = Net::HTTP::Post.new(uri.request_uri)
|
63
63
|
request['Authorization'] = 'Token my-token'
|
64
|
+
request[InfluxDB2::DefaultApi::HEADER_CONTENT_TYPE] = 'application/json'
|
64
65
|
request.body = query.to_json
|
65
66
|
|
66
67
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -252,7 +252,7 @@ class WriteApiTest < MiniTest::Test
|
|
252
252
|
assert_equal 'The time precision not_supported is not supported.', error.message
|
253
253
|
end
|
254
254
|
|
255
|
-
def
|
255
|
+
def test_headers
|
256
256
|
stub_request(:any, 'http://localhost:9999/api/v2/write?bucket=my-bucket&org=my-org&precision=ns')
|
257
257
|
.to_return(status: 204)
|
258
258
|
|
@@ -266,7 +266,8 @@ class WriteApiTest < MiniTest::Test
|
|
266
266
|
|
267
267
|
headers = {
|
268
268
|
'Authorization' => 'Token my-token',
|
269
|
-
'User-Agent' => "influxdb-client-ruby/#{InfluxDB2::VERSION}"
|
269
|
+
'User-Agent' => "influxdb-client-ruby/#{InfluxDB2::VERSION}",
|
270
|
+
'Content-Type' => 'text/plain'
|
270
271
|
}
|
271
272
|
assert_requested(:post, 'http://localhost:9999/api/v2/write?bucket=my-bucket&org=my-org&precision=ns',
|
272
273
|
times: 1, body: 'h2o,location=west value=33i 15', headers: headers)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: influxdb-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.0.pre.
|
4
|
+
version: 1.2.0.pre.639
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jakub Bednar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|