elasticsearch-transport-pixlee 1.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +16 -0
  4. data/LICENSE.txt +13 -0
  5. data/README.md +441 -0
  6. data/Rakefile +80 -0
  7. data/elasticsearch-transport.gemspec +74 -0
  8. data/lib/elasticsearch-transport.rb +1 -0
  9. data/lib/elasticsearch/transport.rb +30 -0
  10. data/lib/elasticsearch/transport/client.rb +195 -0
  11. data/lib/elasticsearch/transport/transport/base.rb +261 -0
  12. data/lib/elasticsearch/transport/transport/connections/collection.rb +93 -0
  13. data/lib/elasticsearch/transport/transport/connections/connection.rb +121 -0
  14. data/lib/elasticsearch/transport/transport/connections/selector.rb +63 -0
  15. data/lib/elasticsearch/transport/transport/errors.rb +73 -0
  16. data/lib/elasticsearch/transport/transport/http/curb.rb +87 -0
  17. data/lib/elasticsearch/transport/transport/http/faraday.rb +60 -0
  18. data/lib/elasticsearch/transport/transport/http/manticore.rb +124 -0
  19. data/lib/elasticsearch/transport/transport/response.rb +21 -0
  20. data/lib/elasticsearch/transport/transport/serializer/multi_json.rb +36 -0
  21. data/lib/elasticsearch/transport/transport/sniffer.rb +46 -0
  22. data/lib/elasticsearch/transport/version.rb +5 -0
  23. data/test/integration/client_test.rb +144 -0
  24. data/test/integration/transport_test.rb +73 -0
  25. data/test/profile/client_benchmark_test.rb +125 -0
  26. data/test/test_helper.rb +76 -0
  27. data/test/unit/client_test.rb +274 -0
  28. data/test/unit/connection_collection_test.rb +88 -0
  29. data/test/unit/connection_selector_test.rb +64 -0
  30. data/test/unit/connection_test.rb +100 -0
  31. data/test/unit/response_test.rb +15 -0
  32. data/test/unit/serializer_test.rb +16 -0
  33. data/test/unit/sniffer_test.rb +145 -0
  34. data/test/unit/transport_base_test.rb +478 -0
  35. data/test/unit/transport_curb_test.rb +97 -0
  36. data/test/unit/transport_faraday_test.rb +140 -0
  37. data/test/unit/transport_manticore_test.rb +118 -0
  38. metadata +408 -0
@@ -0,0 +1,97 @@
1
+ require 'test_helper'
2
+
3
+ if JRUBY
4
+ puts "'#{File.basename(__FILE__)}' not supported on JRuby #{RUBY_VERSION}"
5
+ else
6
+ require 'elasticsearch/transport/transport/http/curb'
7
+ require 'curb'
8
+
9
+ class Elasticsearch::Transport::Transport::HTTP::FaradayTest < Test::Unit::TestCase
10
+ include Elasticsearch::Transport::Transport::HTTP
11
+
12
+ context "Curb transport" do
13
+ setup do
14
+ @transport = Curb.new :hosts => [ { :host => 'foobar', :port => 1234 } ]
15
+ end
16
+
17
+ should "implement host_unreachable_exceptions" do
18
+ assert_instance_of Array, @transport.host_unreachable_exceptions
19
+ end
20
+
21
+ should "implement __build_connections" do
22
+ assert_equal 1, @transport.hosts.size
23
+ assert_equal 1, @transport.connections.size
24
+
25
+ assert_instance_of ::Curl::Easy, @transport.connections.first.connection
26
+ assert_equal 'http://foobar:1234', @transport.connections.first.connection.url
27
+ end
28
+
29
+ should "perform the request" do
30
+ @transport.connections.first.connection.expects(:http).returns(stub_everything)
31
+ @transport.perform_request 'GET', '/'
32
+ end
33
+
34
+ should "set body for GET request" do
35
+ @transport.connections.first.connection.expects(:put_data=).with('{"foo":"bar"}')
36
+ @transport.connections.first.connection.expects(:http).with(:GET).returns(stub_everything)
37
+ @transport.perform_request 'GET', '/', {}, '{"foo":"bar"}'
38
+ end
39
+
40
+ should "set body for PUT request" do
41
+ @transport.connections.first.connection.expects(:put_data=)
42
+ @transport.connections.first.connection.expects(:http).with(:PUT).returns(stub_everything)
43
+ @transport.perform_request 'PUT', '/', {}, {:foo => 'bar'}
44
+ end
45
+
46
+ should "serialize the request body" do
47
+ @transport.connections.first.connection.expects(:http).with(:POST).returns(stub_everything)
48
+ @transport.serializer.expects(:dump)
49
+ @transport.perform_request 'POST', '/', {}, {:foo => 'bar'}
50
+ end
51
+
52
+ should "not serialize a String request body" do
53
+ @transport.connections.first.connection.expects(:http).with(:POST).returns(stub_everything)
54
+ @transport.serializer.expects(:dump).never
55
+ @transport.perform_request 'POST', '/', {}, '{"foo":"bar"}'
56
+ end
57
+
58
+ should "set application/json header" do
59
+ @transport.connections.first.connection.expects(:http).with(:GET).returns(stub_everything)
60
+ @transport.connections.first.connection.expects(:body_str).returns('{"foo":"bar"}')
61
+ @transport.connections.first.connection.expects(:header_str).returns('HTTP/1.1 200 OK\r\nContent-Type: application/json; charset=UTF-8\r\nContent-Length: 311\r\n\r\n')
62
+
63
+ response = @transport.perform_request 'GET', '/'
64
+
65
+ assert_equal 'application/json', response.headers['content-type']
66
+ end
67
+
68
+ should "handle HTTP methods" do
69
+ @transport.connections.first.connection.expects(:http).with(:HEAD).returns(stub_everything)
70
+ @transport.connections.first.connection.expects(:http).with(:GET).returns(stub_everything)
71
+ @transport.connections.first.connection.expects(:http).with(:PUT).returns(stub_everything)
72
+ @transport.connections.first.connection.expects(:http).with(:POST).returns(stub_everything)
73
+ @transport.connections.first.connection.expects(:http).with(:DELETE).returns(stub_everything)
74
+
75
+ %w| HEAD GET PUT POST DELETE |.each { |method| @transport.perform_request method, '/' }
76
+
77
+ assert_raise(ArgumentError) { @transport.perform_request 'FOOBAR', '/' }
78
+ end
79
+
80
+ should "allow to set options for Curb" do
81
+ transport = Curb.new :hosts => [ { :host => 'foobar', :port => 1234 } ] do |curl|
82
+ curl.headers["User-Agent"] = "myapp-0.0"
83
+ end
84
+
85
+ assert_equal "myapp-0.0", transport.connections.first.connection.headers["User-Agent"]
86
+ end
87
+
88
+ should "set the credentials if passed" do
89
+ transport = Curb.new :hosts => [ { :host => 'foobar', :port => 1234, :user => 'foo', :password => 'bar' } ]
90
+ assert_equal 'foo', transport.connections.first.connection.username
91
+ assert_equal 'bar', transport.connections.first.connection.password
92
+ end
93
+ end
94
+
95
+ end
96
+
97
+ end
@@ -0,0 +1,140 @@
1
+ require 'test_helper'
2
+
3
+ class Elasticsearch::Transport::Transport::HTTP::FaradayTest < Test::Unit::TestCase
4
+ include Elasticsearch::Transport::Transport::HTTP
5
+
6
+ context "Faraday transport" do
7
+ setup do
8
+ @transport = Faraday.new :hosts => [ { :host => 'foobar', :port => 1234 } ]
9
+ end
10
+
11
+ should "implement host_unreachable_exceptions" do
12
+ assert_instance_of Array, @transport.host_unreachable_exceptions
13
+ end
14
+
15
+ should "implement __build_connections" do
16
+ assert_equal 1, @transport.hosts.size
17
+ assert_equal 1, @transport.connections.size
18
+
19
+ assert_instance_of ::Faraday::Connection, @transport.connections.first.connection
20
+ assert_equal 'http://foobar:1234/', @transport.connections.first.connection.url_prefix.to_s
21
+ end
22
+
23
+ should "perform the request" do
24
+ @transport.connections.first.connection.expects(:run_request).returns(stub_everything)
25
+ @transport.perform_request 'GET', '/'
26
+ end
27
+
28
+ should "return a Response" do
29
+ @transport.connections.first.connection.expects(:run_request).returns(stub_everything)
30
+ response = @transport.perform_request 'GET', '/'
31
+ assert_instance_of Elasticsearch::Transport::Transport::Response, response
32
+ end
33
+
34
+ should "properly prepare the request" do
35
+ @transport.connections.first.connection.expects(:run_request).with do |method, url, body, headers|
36
+ :post == method && '{"foo":"bar"}' == body
37
+ end.returns(stub_everything)
38
+ @transport.perform_request 'POST', '/', {}, {:foo => 'bar'}
39
+ end
40
+
41
+ should "serialize the request body" do
42
+ @transport.connections.first.connection.expects(:run_request).returns(stub_everything)
43
+ @transport.serializer.expects(:dump)
44
+ @transport.perform_request 'POST', '/', {}, {:foo => 'bar'}
45
+ end
46
+
47
+ should "not serialize a String request body" do
48
+ @transport.connections.first.connection.expects(:run_request).returns(stub_everything)
49
+ @transport.serializer.expects(:dump).never
50
+ @transport.perform_request 'POST', '/', {}, '{"foo":"bar"}'
51
+ end
52
+
53
+ should "pass the selector_class options to collection" do
54
+ @transport = Faraday.new :hosts => [ { :host => 'foobar', :port => 1234 } ],
55
+ :options => { :selector_class => Elasticsearch::Transport::Transport::Connections::Selector::Random }
56
+ assert_instance_of Elasticsearch::Transport::Transport::Connections::Selector::Random,
57
+ @transport.connections.selector
58
+ end
59
+
60
+ should "pass the selector option to collection" do
61
+ @transport = Faraday.new :hosts => [ { :host => 'foobar', :port => 1234 } ],
62
+ :options => { :selector => Elasticsearch::Transport::Transport::Connections::Selector::Random.new }
63
+ assert_instance_of Elasticsearch::Transport::Transport::Connections::Selector::Random,
64
+ @transport.connections.selector
65
+ end
66
+
67
+ should "pass a configuration block to the Faraday constructor" do
68
+ config_block = lambda do |f|
69
+ f.response :logger
70
+ f.path_prefix = '/moo'
71
+ end
72
+
73
+ transport = Faraday.new :hosts => [ { :host => 'foobar', :port => 1234 } ], &config_block
74
+
75
+ handlers = transport.connections.first.connection.builder.handlers
76
+
77
+ assert_equal 1, handlers.size
78
+ assert handlers.include?(::Faraday::Response::Logger), "#{handlers.inspect} does not include <::Faraday::Adapter::Logger>"
79
+
80
+ assert_equal '/moo', transport.connections.first.connection.path_prefix
81
+ assert_equal 'http://foobar:1234/moo', transport.connections.first.connection.url_prefix.to_s
82
+ end
83
+
84
+ should "pass transport_options to the Faraday constructor" do
85
+ transport = Faraday.new :hosts => [ { :host => 'foobar', :port => 1234 } ],
86
+ :options => { :transport_options => {
87
+ :request => { :open_timeout => 1 },
88
+ :headers => { :foo_bar => 'bar' },
89
+ :ssl => { :verify => false }
90
+ }
91
+ }
92
+
93
+ assert_equal 1, transport.connections.first.connection.options.open_timeout
94
+ assert_equal 'bar', transport.connections.first.connection.headers['Foo-Bar']
95
+ assert_equal false, transport.connections.first.connection.ssl.verify?
96
+ end
97
+
98
+ should "merge in parameters defined in the Faraday connection parameters" do
99
+ transport = Faraday.new :hosts => [ { :host => 'foobar', :port => 1234 } ],
100
+ :options => { :transport_options => {
101
+ :params => { :format => 'yaml' }
102
+ }
103
+ }
104
+ # transport.logger = Logger.new(STDERR)
105
+
106
+ transport.connections.first.connection.expects(:run_request).
107
+ with do |method, url, params, body|
108
+ assert_match /\?format=yaml/, url
109
+ true
110
+ end.
111
+ returns(stub_everything)
112
+
113
+ transport.perform_request 'GET', ''
114
+ end
115
+
116
+ should "not overwrite request parameters with the Faraday connection parameters" do
117
+ transport = Faraday.new :hosts => [ { :host => 'foobar', :port => 1234 } ],
118
+ :options => { :transport_options => {
119
+ :params => { :format => 'yaml' }
120
+ }
121
+ }
122
+ # transport.logger = Logger.new(STDERR)
123
+
124
+ transport.connections.first.connection.expects(:run_request).
125
+ with do |method, url, params, body|
126
+ assert_match /\?format=json/, url
127
+ true
128
+ end.
129
+ returns(stub_everything)
130
+
131
+ transport.perform_request 'GET', '', { :format => 'json' }
132
+ end
133
+
134
+ should "set the credentials if passed" do
135
+ transport = Faraday.new :hosts => [ { :host => 'foobar', :port => 1234, :user => 'foo', :password => 'bar' } ]
136
+ assert_equal 'Basic Zm9vOmJhcg==', transport.connections.first.connection.headers['Authorization']
137
+ end
138
+ end
139
+
140
+ end
@@ -0,0 +1,118 @@
1
+ require 'test_helper'
2
+
3
+ unless JRUBY
4
+ version = ( defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'Ruby' ) + ' ' + RUBY_VERSION
5
+ puts "SKIP: '#{File.basename(__FILE__)}' only supported on JRuby (you're running #{version})"
6
+ else
7
+ require 'elasticsearch/transport/transport/http/manticore'
8
+ require 'manticore'
9
+
10
+ class Elasticsearch::Transport::Transport::HTTP::ManticoreTest < Test::Unit::TestCase
11
+ include Elasticsearch::Transport::Transport::HTTP
12
+
13
+ context "Manticore transport" do
14
+ setup do
15
+ @transport = Manticore.new :hosts => [ { :host => '127.0.0.1', :port => 8080 } ]
16
+ end
17
+
18
+ should "implement host_unreachable_exceptions" do
19
+ assert_instance_of Array, @transport.host_unreachable_exceptions
20
+ end
21
+
22
+ should "implement __build_connections" do
23
+ assert_equal 1, @transport.hosts.size
24
+ assert_equal 1, @transport.connections.size
25
+
26
+ assert_instance_of ::Manticore::Client, @transport.connections.first.connection
27
+ end
28
+
29
+ should "perform the request" do
30
+ @transport.connections.first.connection.expects(:get).returns(stub_everything)
31
+ @transport.perform_request 'GET', '/'
32
+ end
33
+
34
+ should "set body for GET request" do
35
+ @transport.connections.first.connection.expects(:get).
36
+ with('http://127.0.0.1:8080//', {:body => '{"foo":"bar"}'}).returns(stub_everything)
37
+ @transport.perform_request 'GET', '/', {}, '{"foo":"bar"}'
38
+ end
39
+
40
+ should "set body for PUT request" do
41
+ @transport.connections.first.connection.expects(:put).
42
+ with('http://127.0.0.1:8080//', {:body => '{"foo":"bar"}'}).returns(stub_everything)
43
+ @transport.perform_request 'PUT', '/', {}, {:foo => 'bar'}
44
+ end
45
+
46
+ should "serialize the request body" do
47
+ @transport.connections.first.connection.expects(:post).
48
+ with('http://127.0.0.1:8080//', {:body => '{"foo":"bar"}'}).returns(stub_everything)
49
+ @transport.perform_request 'POST', '/', {}, {'foo' => 'bar'}
50
+ end
51
+
52
+ should "not serialize a String request body" do
53
+ @transport.connections.first.connection.expects(:post).
54
+ with('http://127.0.0.1:8080//', {:body => '{"foo":"bar"}'}).returns(stub_everything)
55
+ @transport.serializer.expects(:dump).never
56
+ @transport.perform_request 'POST', '/', {}, '{"foo":"bar"}'
57
+ end
58
+
59
+ should "set application/json header" do
60
+ options = {
61
+ :headers => { "content-type" => "application/json"}
62
+ }
63
+
64
+ transport = Manticore.new :hosts => [ { :host => 'localhost', :port => 8080 } ], :options => options
65
+
66
+ transport.connections.first.connection.stub("http://localhost:8080//", :body => "\"\"", :headers => {"content-type" => "application/json"}, :code => 200 )
67
+
68
+ response = transport.perform_request 'GET', '/', {}
69
+ assert_equal response.status, 200
70
+ end
71
+
72
+ should "handle HTTP methods" do
73
+ @transport.connections.first.connection.expects(:delete).with('http://127.0.0.1:8080//', {}).returns(stub_everything)
74
+ @transport.connections.first.connection.expects(:head).with('http://127.0.0.1:8080//', {}).returns(stub_everything)
75
+ @transport.connections.first.connection.expects(:get).with('http://127.0.0.1:8080//', {}).returns(stub_everything)
76
+ @transport.connections.first.connection.expects(:put).with('http://127.0.0.1:8080//', {}).returns(stub_everything)
77
+ @transport.connections.first.connection.expects(:post).with('http://127.0.0.1:8080//', {}).returns(stub_everything)
78
+
79
+ %w| HEAD GET PUT POST DELETE |.each { |method| @transport.perform_request method, '/' }
80
+
81
+ assert_raise(ArgumentError) { @transport.perform_request 'FOOBAR', '/' }
82
+ end
83
+
84
+ should "allow to set options for Manticore" do
85
+ options = { :headers => {"User-Agent" => "myapp-0.0" }}
86
+ transport = Manticore.new :hosts => [ { :host => 'foobar', :port => 1234 } ], :options => options
87
+ transport.connections.first.connection.expects(:get).
88
+ with('http://foobar:1234//', options).returns(stub_everything)
89
+
90
+ transport.perform_request 'GET', '/', {}
91
+ end
92
+
93
+ should "allow to set ssl options for Manticore" do
94
+ options = {
95
+ :ssl => {
96
+ :truststore => "test.jks",
97
+ :truststore_password => "test",
98
+ :verify => false
99
+ }
100
+ }
101
+
102
+ ::Manticore::Client.expects(:new).with(options)
103
+ transport = Manticore.new :hosts => [ { :host => 'foobar', :port => 1234 } ], :options => options
104
+ end
105
+
106
+ should "pass :transport_options to Manticore::Client" do
107
+ options = {
108
+ :transport_options => { :potatoes => 1 }
109
+ }
110
+
111
+ ::Manticore::Client.expects(:new).with(:potatoes => 1, :ssl => {})
112
+ transport = Manticore.new :hosts => [ { :host => 'foobar', :port => 1234 } ], :options => options
113
+ end
114
+ end
115
+
116
+ end
117
+
118
+ end
metadata ADDED
@@ -0,0 +1,408 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: elasticsearch-transport-pixlee
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.13
5
+ platform: ruby
6
+ authors:
7
+ - Karel Minarik
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: multi_json
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>'
46
+ - !ruby/object:Gem::Version
47
+ version: '1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>'
53
+ - !ruby/object:Gem::Version
54
+ version: '1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: elasticsearch-extensions
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ansi
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: shoulda-context
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: mocha
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: turn
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: yard
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: pry
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: ci_reporter
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: '1.9'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ~>
179
+ - !ruby/object:Gem::Version
180
+ version: '1.9'
181
+ - !ruby/object:Gem::Dependency
182
+ name: curb
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: patron
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: typhoeus
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ~>
214
+ - !ruby/object:Gem::Version
215
+ version: '0.6'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ~>
221
+ - !ruby/object:Gem::Version
222
+ version: '0.6'
223
+ - !ruby/object:Gem::Dependency
224
+ name: hashie
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - '>='
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: minitest
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ~>
242
+ - !ruby/object:Gem::Version
243
+ version: '4.0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ~>
249
+ - !ruby/object:Gem::Version
250
+ version: '4.0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: ruby-prof
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - '>='
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - '>='
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: require-prof
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - '>='
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: simplecov
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - '>='
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - '>='
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: simplecov-rcov
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - '>='
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - '>='
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: cane
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - '>='
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - '>='
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ description: |
322
+ Ruby client for Elasticsearch. See the `elasticsearch` gem for full integration.
323
+ email:
324
+ - karel.minarik@elasticsearch.org
325
+ executables: []
326
+ extensions: []
327
+ extra_rdoc_files:
328
+ - README.md
329
+ - LICENSE.txt
330
+ files:
331
+ - .gitignore
332
+ - Gemfile
333
+ - LICENSE.txt
334
+ - README.md
335
+ - Rakefile
336
+ - elasticsearch-transport.gemspec
337
+ - lib/elasticsearch-transport.rb
338
+ - lib/elasticsearch/transport.rb
339
+ - lib/elasticsearch/transport/client.rb
340
+ - lib/elasticsearch/transport/transport/base.rb
341
+ - lib/elasticsearch/transport/transport/connections/collection.rb
342
+ - lib/elasticsearch/transport/transport/connections/connection.rb
343
+ - lib/elasticsearch/transport/transport/connections/selector.rb
344
+ - lib/elasticsearch/transport/transport/errors.rb
345
+ - lib/elasticsearch/transport/transport/http/curb.rb
346
+ - lib/elasticsearch/transport/transport/http/faraday.rb
347
+ - lib/elasticsearch/transport/transport/http/manticore.rb
348
+ - lib/elasticsearch/transport/transport/response.rb
349
+ - lib/elasticsearch/transport/transport/serializer/multi_json.rb
350
+ - lib/elasticsearch/transport/transport/sniffer.rb
351
+ - lib/elasticsearch/transport/version.rb
352
+ - test/integration/client_test.rb
353
+ - test/integration/transport_test.rb
354
+ - test/profile/client_benchmark_test.rb
355
+ - test/test_helper.rb
356
+ - test/unit/client_test.rb
357
+ - test/unit/connection_collection_test.rb
358
+ - test/unit/connection_selector_test.rb
359
+ - test/unit/connection_test.rb
360
+ - test/unit/response_test.rb
361
+ - test/unit/serializer_test.rb
362
+ - test/unit/sniffer_test.rb
363
+ - test/unit/transport_base_test.rb
364
+ - test/unit/transport_curb_test.rb
365
+ - test/unit/transport_faraday_test.rb
366
+ - test/unit/transport_manticore_test.rb
367
+ homepage: https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-transport
368
+ licenses:
369
+ - Apache 2
370
+ metadata: {}
371
+ post_install_message:
372
+ rdoc_options:
373
+ - --charset=UTF-8
374
+ require_paths:
375
+ - lib
376
+ required_ruby_version: !ruby/object:Gem::Requirement
377
+ requirements:
378
+ - - '>='
379
+ - !ruby/object:Gem::Version
380
+ version: '0'
381
+ required_rubygems_version: !ruby/object:Gem::Requirement
382
+ requirements:
383
+ - - '>='
384
+ - !ruby/object:Gem::Version
385
+ version: '0'
386
+ requirements: []
387
+ rubyforge_project:
388
+ rubygems_version: 2.0.14
389
+ signing_key:
390
+ specification_version: 4
391
+ summary: Ruby client for Elasticsearch.
392
+ test_files:
393
+ - test/integration/client_test.rb
394
+ - test/integration/transport_test.rb
395
+ - test/profile/client_benchmark_test.rb
396
+ - test/test_helper.rb
397
+ - test/unit/client_test.rb
398
+ - test/unit/connection_collection_test.rb
399
+ - test/unit/connection_selector_test.rb
400
+ - test/unit/connection_test.rb
401
+ - test/unit/response_test.rb
402
+ - test/unit/serializer_test.rb
403
+ - test/unit/sniffer_test.rb
404
+ - test/unit/transport_base_test.rb
405
+ - test/unit/transport_curb_test.rb
406
+ - test/unit/transport_faraday_test.rb
407
+ - test/unit/transport_manticore_test.rb
408
+ has_rdoc: