td-client 1.0.3 → 1.0.4
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/lib/td/client/api/job.rb +5 -1
- data/lib/td/client/version.rb +1 -1
- data/spec/td/client/job_api_spec.rb +15 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10f1e7ce3ea3f8b94d5c2d2cce131ef2968c534f
|
4
|
+
data.tar.gz: 24fa95fd8ebb8751ba502265a7d15942e6f5a978
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3dce86a68061a523fd51215e1fb37d6f0b654660dbc4c2fd87420d0b155bf8bd5de084b8b0aa4b2a932f130012bf7d7ee49214bcb589fa2d3d4463ba72f8439
|
7
|
+
data.tar.gz: 16ab57b46b6d3c208bcbeb690c1578b30e64d2643ff518f57889ca20c9980be6e387846d2d308b8dbcbdee63c3d25fea768d9c84dcfb3427c1ea63a0d4652e74
|
data/lib/td/client/api/job.rb
CHANGED
@@ -313,8 +313,12 @@ module Job
|
|
313
313
|
current_total_chunk_size = 0
|
314
314
|
infl = nil
|
315
315
|
begin # LOOP of Network/Server errors
|
316
|
+
first_chunk_p = true
|
316
317
|
response = client.get(url, params, header) do |res, chunk|
|
317
|
-
|
318
|
+
# Validate only on first chunk
|
319
|
+
validate_response_status(res, current_total_chunk_size) if first_chunk_p
|
320
|
+
first_chunk_p = false
|
321
|
+
|
318
322
|
if infl.nil? && autodecode
|
319
323
|
case res.header['Content-Encoding'][0].to_s.downcase
|
320
324
|
when 'gzip'
|
data/lib/td/client/version.rb
CHANGED
@@ -341,6 +341,21 @@ describe 'Job API' do
|
|
341
341
|
expect(api.job_result(12345)).to eq ['hello', 'world']
|
342
342
|
end
|
343
343
|
|
344
|
+
it 'has multiple chunks' do
|
345
|
+
client = double('client')
|
346
|
+
allow(api).to receive(:new_client).and_return([client, {}])
|
347
|
+
allow(client).to receive(:send_timeout=)
|
348
|
+
allow(client).to receive(:receive_timeout=)
|
349
|
+
res = HTTP::Message.new_response(nil, HTTP::Message::Headers.new)
|
350
|
+
sz = 3
|
351
|
+
chunk1 = packed[0, sz]
|
352
|
+
chunk2 = packed[sz, packed.bytesize-sz]
|
353
|
+
expect(client).to receive(:get).
|
354
|
+
and_yield(res, chunk1).
|
355
|
+
and_yield(res, chunk2).
|
356
|
+
and_return(res)
|
357
|
+
expect(api.job_result(12345)).to eq ['hello', 'world']
|
358
|
+
end
|
344
359
|
end
|
345
360
|
|
346
361
|
describe 'job_result_format' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: td-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Treasure Data, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|