Class: Kafka::Protocol::SaslHandshakeRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/kafka/protocol/sasl_handshake_request.rb

Overview

SaslHandshake Request (Version: 0) => mechanism mechanism => string

Constant Summary collapse

SUPPORTED_MECHANISMS =
%w(GSSAPI PLAIN SCRAM-SHA-256 SCRAM-SHA-512)

Instance Method Summary collapse

Constructor Details

#initialize(mechanism) ⇒ SaslHandshakeRequest

Returns a new instance of SaslHandshakeRequest.



11
12
13
14
15
16
# File 'lib/kafka/protocol/sasl_handshake_request.rb', line 11

def initialize(mechanism)
  unless SUPPORTED_MECHANISMS.include?(mechanism)
    raise Kafka::Error, "Unsupported SASL mechanism #{mechanism}. Supported are #{SUPPORTED_MECHANISMS.join(', ')}"
  end
  @mechanism = mechanism
end

Instance Method Details

#api_keyObject



18
19
20
# File 'lib/kafka/protocol/sasl_handshake_request.rb', line 18

def api_key
  SASL_HANDSHAKE_API
end

#encode(encoder) ⇒ Object



26
27
28
# File 'lib/kafka/protocol/sasl_handshake_request.rb', line 26

def encode(encoder)
  encoder.write_string(@mechanism)
end

#response_classObject



22
23
24
# File 'lib/kafka/protocol/sasl_handshake_request.rb', line 22

def response_class
  SaslHandshakeResponse
end