Sha256: bda905eb81e09ac1edea9eebe3b65a89d86e7eb58e44bf9de4f03132836fa306

Contents?: true

Size: 745 Bytes

Versions: 15

Compression:

Stored size: 745 Bytes

Contents

# frozen_string_literal: true

module Kafka
  module Protocol

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

    class SaslHandshakeRequest

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

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

      def api_key
        SASL_HANDSHAKE_API
      end

      def response_class
        SaslHandshakeResponse
      end

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

Version data entries

15 entries across 15 versions & 3 rubygems

Version Path
ruby-kafka-1.4.0 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-temp-fork-0.0.2 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-temp-fork-0.0.1 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-1.3.0 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-1.2.0 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-1.1.0 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-1.1.0.beta1 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-1.0.0 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-0.7.10 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-0.7.9 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-0.7.8 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-0.7.7 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-custom-0.7.7.26 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-0.7.6 lib/kafka/protocol/sasl_handshake_request.rb
ruby-kafka-0.7.6.beta2 lib/kafka/protocol/sasl_handshake_request.rb