upfluence-thrift 1.0.6 → 1.0.7

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: fe021f1ee3ffa17f4e03313559749305b3fe4e5b
4
- data.tar.gz: 9a3b75b02146b4ad62ca3924bf8bbd37b75b8cda
3
+ metadata.gz: 5be267a87cec41d07f9a14ce879abbb6f7de8228
4
+ data.tar.gz: aaf02c1244cdea7459e76e35514a41e16657364b
5
5
  SHA512:
6
- metadata.gz: 5a47c37136de837bb54d1f08dd4f1554ed20ed3fb71580913b2a179bf5fa0ba6851eda2204fc891a547e96b6b15e4d73ca275293b88f141f48d6a83e0648dca7
7
- data.tar.gz: f3eb8cc5a124809252626eabceea49891f9586fdcc1d72cf9517bcd542045a47b1e62525516f325d822a10406ae5c3f4c19b271667e15cdc5271cf791a46508d
6
+ metadata.gz: 79ecb2ac671d310e39d579372e14dc8a3854174ba7a8f95f5f1b987547e68a81381f2045ec942995995bfc149512b5c715c039b04ba27105604fb7be6f0401ff
7
+ data.tar.gz: c3dde03681f60b83e5dcdfdd0aa02f75181f6fd76733aa54ee766a304bdc52c6a9f2e9345ff783ea0e831429ada4f8c2ab9cfbd6ddb51d448fdeab7e6c6c43dc
@@ -1,4 +1,4 @@
1
- #
1
+ #
2
2
  # Licensed to the Apache Software Foundation (ASF) under one
3
3
  # or more contributor license agreements. See the NOTICE file
4
4
  # distributed with this work for additional information
@@ -26,38 +26,45 @@ require 'stringio'
26
26
 
27
27
  module Thrift
28
28
  class HTTPClientTransport < BaseTransport
29
+ DEFAULT_HEADERS = { 'Content-Type' => 'application/x-thrift' }.freeze
29
30
 
30
31
  def initialize(url, opts = {})
31
32
  @url = URI url
32
- @headers = {'Content-Type' => 'application/x-thrift'}
33
+ @headers = DEFAULT_HEADERS.merge(opts.fetch(:headers, {}))
33
34
  @outbuf = Bytes.empty_byte_buffer
34
35
  @ssl_verify_mode = opts.fetch(:ssl_verify_mode, OpenSSL::SSL::VERIFY_PEER)
35
36
  @error_logger = opts[:error_logger]
36
37
  @retries = opts.fetch(:retries, 1)
38
+ @open_timeout = opts[:open_timeout]
39
+ @read_timeout = opts[:read_timeout]
37
40
  end
38
41
 
39
42
  def open?; true end
40
43
  def read(sz); @inbuf.read sz end
41
44
  def write(buf); @outbuf << Bytes.force_binary_encoding(buf) end
42
45
 
43
- def add_headers(headers)
44
- @headers = @headers.merge(headers)
45
- end
46
-
47
46
  def flush
48
47
  tries ||= @retries
49
- http = Net::HTTP.new @url.host, @url.port
50
- http.use_ssl = @url.scheme == 'https'
51
- http.verify_mode = @ssl_verify_mode if @url.scheme == 'https'
52
- resp = http.post(@url.request_uri, @outbuf, @headers)
53
- data = resp.body
54
- data = Bytes.force_binary_encoding(data)
55
- @inbuf = StringIO.new data
48
+ resp = http_client.post(@url.request_uri, @outbuf.dup, @headers)
49
+ resp.value
50
+ @inbuf = StringIO.new Bytes.force_binary_encoding(resp.body)
56
51
  rescue => e
57
52
  retry if (tries -= 1) > 0
58
- @error_logger.capture_exception(e, extra: { url: @url }) if @error_logger
53
+ raise TransportException.new(TransportException::UNKNOWN, e.to_s)
59
54
  ensure
60
55
  @outbuf = Bytes.empty_byte_buffer
61
56
  end
57
+
58
+ private
59
+
60
+ def http_client
61
+ http = Net::HTTP.new @url.host, @url.port
62
+ http.use_ssl = @url.scheme == 'https'
63
+ http.open_timeout = @open_timeout if @open_timeout
64
+ http.read_timeout = @read_timeout if @read_timeout
65
+ http.verify_mode = @ssl_verify_mode if @url.scheme == 'https'
66
+
67
+ http
68
+ end
62
69
  end
63
70
  end
@@ -8,79 +8,6 @@ require 'thrift'
8
8
  require 'debug_proto_test_types'
9
9
 
10
10
  COMPACT_TEST = ::CompactProtoTestStruct.new({
11
- %q"byte_boolean_map" => {
12
- 1 => true,
13
- 2 => false,
14
- },
15
- %q"list_byte_map" => {
16
- [
17
- 1,
18
- 2,
19
- 3,
20
- ] => 1,
21
- [
22
- 0,
23
- 1,
24
- ] => 2,
25
- [
26
- ] => 0,
27
- },
28
- %q"set_byte_map" => {
29
- Set.new([
30
- 1,
31
- 2,
32
- 3,
33
- ]) => 1,
34
- Set.new([
35
- 0,
36
- 1,
37
- ]) => 2,
38
- Set.new([
39
- ]) => 0,
40
- },
41
- %q"map_byte_map" => {
42
- {
43
- 1 => 1,
44
- } => 1,
45
- {
46
- 2 => 2,
47
- } => 2,
48
- {
49
- } => 0,
50
- },
51
- %q"byte_map_map" => {
52
- 0 => {
53
- },
54
- 1 => {
55
- 1 => 1,
56
- },
57
- 2 => {
58
- 1 => 1,
59
- 2 => 2,
60
- },
61
- },
62
- %q"byte_set_map" => {
63
- 0 => Set.new([
64
- ]),
65
- 1 => Set.new([
66
- 1,
67
- ]),
68
- 2 => Set.new([
69
- 1,
70
- 2,
71
- ]),
72
- },
73
- %q"byte_list_map" => {
74
- 0 => [
75
- ],
76
- 1 => [
77
- 1,
78
- ],
79
- 2 => [
80
- 1,
81
- 2,
82
- ],
83
- },
84
11
  %q"a_byte" => 127,
85
12
  %q"a_i16" => 32000,
86
13
  %q"a_i32" => 1000000000,
@@ -254,6 +181,79 @@ COMPACT_TEST = ::CompactProtoTestStruct.new({
254
181
  2 => %q"blah",
255
182
  3 => %q"loooooooooooooong string",
256
183
  },
184
+ %q"byte_boolean_map" => {
185
+ 1 => true,
186
+ 2 => false,
187
+ },
188
+ %q"list_byte_map" => {
189
+ [
190
+ 1,
191
+ 2,
192
+ 3,
193
+ ] => 1,
194
+ [
195
+ 0,
196
+ 1,
197
+ ] => 2,
198
+ [
199
+ ] => 0,
200
+ },
201
+ %q"set_byte_map" => {
202
+ Set.new([
203
+ 1,
204
+ 2,
205
+ 3,
206
+ ]) => 1,
207
+ Set.new([
208
+ 0,
209
+ 1,
210
+ ]) => 2,
211
+ Set.new([
212
+ ]) => 0,
213
+ },
214
+ %q"map_byte_map" => {
215
+ {
216
+ 1 => 1,
217
+ } => 1,
218
+ {
219
+ 2 => 2,
220
+ } => 2,
221
+ {
222
+ } => 0,
223
+ },
224
+ %q"byte_map_map" => {
225
+ 0 => {
226
+ },
227
+ 1 => {
228
+ 1 => 1,
229
+ },
230
+ 2 => {
231
+ 1 => 1,
232
+ 2 => 2,
233
+ },
234
+ },
235
+ %q"byte_set_map" => {
236
+ 0 => Set.new([
237
+ ]),
238
+ 1 => Set.new([
239
+ 1,
240
+ ]),
241
+ 2 => Set.new([
242
+ 1,
243
+ 2,
244
+ ]),
245
+ },
246
+ %q"byte_list_map" => {
247
+ 0 => [
248
+ ],
249
+ 1 => [
250
+ 1,
251
+ ],
252
+ 2 => [
253
+ 1,
254
+ 2,
255
+ ],
256
+ },
257
257
  })
258
258
 
259
259
  MYCONST = 2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upfluence-thrift
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thrift Developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-19 00:00:00.000000000 Z
11
+ date: 2017-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec