td-client 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
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