Skip to content

Commit f62ba7a

Browse files
committed
[CLIENT] Refactors meta header to support using other Elastic clients in same project
1 parent 55f50bc commit f62ba7a

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

elasticsearch-transport/lib/elasticsearch/transport/meta_header.rb

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,31 @@ def set_meta_header
4141
end
4242

4343
def meta_header_service_version
44-
if defined?(Elastic::META_HEADER_SERVICE_VERSION)
45-
Elastic::META_HEADER_SERVICE_VERSION
44+
if enterprise_search?
45+
Elastic::ENTERPRISE_SERVICE_VERSION
46+
elsif elasticsearch?
47+
Elastic::ELASTICSEARCH_SERVICE_VERSION
4648
elsif defined?(Elasticsearch::VERSION)
4749
[:es, client_meta_version(Elasticsearch::VERSION)]
4850
else
4951
[:es, client_meta_version(Elasticsearch::Transport::VERSION)]
5052
end
5153
end
5254

55+
def enterprise_search?
56+
defined?(Elastic::ENTERPRISE_SERVICE_VERSION) &&
57+
called_from?('enterprise-search-ruby')
58+
end
59+
60+
def elasticsearch?
61+
defined?(Elastic::ELASTICSEARCH_SERVICE_VERSION) &&
62+
called_from?('elasticsearch')
63+
end
64+
65+
def called_from?(service)
66+
!caller.select { |c| c.match?(service) }.empty?
67+
end
68+
5369
# We return the current version if it's a release, but if it's a pre/alpha/beta release we
5470
# return <VERSION_NUMBER>p
5571
#

elasticsearch-transport/spec/elasticsearch/transport/meta_header_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ def initialize(args); end
251251

252252
context 'when using a different service version' do
253253
before do
254-
stub_const("Elastic::META_HEADER_SERVICE_VERSION", [:ent, '8.0.0'])
254+
stub_const('Elastic::ELASTICSEARCH_SERVICE_VERSION', [:ent, '8.0.0'])
255255
end
256256

257257
let(:client) { Elasticsearch::Client.new }

elasticsearch/lib/elasticsearch.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@ def self.client_meta_version
3838
end
3939

4040
# Constant for elasticsearch-transport meta-header
41-
META_HEADER_SERVICE_VERSION = [:es, client_meta_version].freeze
41+
ELASTICSEARCH_SERVICE_VERSION = [:es, client_meta_version].freeze
4242
end

0 commit comments

Comments
 (0)