module Gapic::Headers

def self.x_goog_api_client ruby_version: nil, lib_name: nil, lib_version: nil, gax_version: nil,

Parameters:
  • transports_version_send (Array) -- Which transports to send versions for.
  • rest_version (String) -- The Rest Library (Faraday) version. Defaults to `Faraday::VERSION`.
  • grpc_version (String) -- The GRPC version. Defaults to `::GRPC::VERSION`.
  • gapic_version (String) -- The Gapic version.
  • gax_version (String) -- The Gapic version. Defaults to `Gapic::Common::VERSION`.
  • lib_version (String) -- The client library version.
  • lib_name (String) -- The client library name.
  • ruby_version (String) -- The ruby version. Defaults to `RUBY_VERSION`.
def self.x_goog_api_client ruby_version: nil, lib_name: nil, lib_version: nil, gax_version: nil,
                           gapic_version: nil, grpc_version: nil, rest_version: nil, protobuf_version: nil,
                           transports_version_send: [:grpc]
  ruby_version ||= ::RUBY_VERSION
  gax_version  ||= ::Gapic::Common::VERSION
  grpc_version ||= ::GRPC::VERSION if defined? ::GRPC::VERSION
  rest_version ||= ::Faraday::VERSION if defined? ::Faraday::VERSION
  protobuf_version ||= Gem.loaded_specs["google-protobuf"].version.to_s if Gem.loaded_specs.key? "google-protobuf"
  x_goog_api_client_header = ["gl-ruby/#{ruby_version}"]
  x_goog_api_client_header << "#{lib_name}/#{lib_version}" if lib_name
  x_goog_api_client_header << "gax/#{gax_version}"
  x_goog_api_client_header << "gapic/#{gapic_version}" if gapic_version
  x_goog_api_client_header << "grpc/#{grpc_version}" if grpc_version && transports_version_send.include?(:grpc)
  x_goog_api_client_header << "rest/#{rest_version}" if rest_version && transports_version_send.include?(:rest)
  x_goog_api_client_header << "pb/#{protobuf_version}" if protobuf_version
  x_goog_api_client_header.join " ".freeze
end