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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f8123cb6d1ba413d6e482a5396d2675340256e1b
4
- data.tar.gz: 3e8541a2b1070b50dc270c54bb5f76a24e29cd24
3
+ metadata.gz: 10f1e7ce3ea3f8b94d5c2d2cce131ef2968c534f
4
+ data.tar.gz: 24fa95fd8ebb8751ba502265a7d15942e6f5a978
5
5
  SHA512:
6
- metadata.gz: 7bdbacf95cd257c635dd6d72486b32974408d9f09e4f81e1ec1233c4db0b709bbb0b48991c2820c80d1a94c305295b7809771dbc34ca5e8b0e885a1146053277
7
- data.tar.gz: 901e31f20e95e0aa83fabaa4daf18470376aee5396cbe09cad474e5680ab1e56fee43ceae3e466b91f92d1b60b7de1a4b2ad777e86e309807bf3d5a733007fcd
6
+ metadata.gz: e3dce86a68061a523fd51215e1fb37d6f0b654660dbc4c2fd87420d0b155bf8bd5de084b8b0aa4b2a932f130012bf7d7ee49214bcb589fa2d3d4463ba72f8439
7
+ data.tar.gz: 16ab57b46b6d3c208bcbeb690c1578b30e64d2643ff518f57889ca20c9980be6e387846d2d308b8dbcbdee63c3d25fea768d9c84dcfb3427c1ea63a0d4652e74
@@ -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
- validate_response_status(res, current_total_chunk_size)
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'
@@ -1,5 +1,5 @@
1
1
  module TreasureData
2
2
  class Client
3
- VERSION = '1.0.3'
3
+ VERSION = '1.0.4'
4
4
  end
5
5
  end
@@ -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.3
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-15 00:00:00.000000000 Z
11
+ date: 2017-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack