Sha256: 796a6f20dec9afe7c80b8786d32328db86326162947d67b84321e3a75f3c72cc

Contents?: true

Size: 1.23 KB

Versions: 8

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

module WebSocket
  module Handshake
    module Handler
      # This class and it's descendants are included in client or server handshake in order to extend basic functionality
      class Base
        def initialize(handshake)
          @handshake = handshake
        end

        # @see WebSocket::Handshake::Base#to_s
        def to_s
          result = [header_line]
          handshake_keys.each do |key|
            result << key.join(': ')
          end
          result << ''
          result << finishing_line
          result.join("\r\n")
        end

        def valid?
          true
        end

        private

        # Set first line of text representation according to specification.
        # @return [String] First line of HTTP header
        def header_line
          ''
        end

        # Set handshake headers. Provided as array because some protocol version require specific order of fields.
        # @return [Array] List of headers as arrays [key, value]
        def handshake_keys
          []
        end

        # Set data to send after headers. In most cases it will be blank data.
        # @return [String] data
        def finishing_line
          ''
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 3 rubygems

Version Path
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/websocket-1.2.10/lib/websocket/handshake/handler/base.rb
websocket-1.2.11 lib/websocket/handshake/handler/base.rb
websocket-1.2.10 lib/websocket/handshake/handler/base.rb
tdiary-5.2.3 vendor/bundle/ruby/3.1.0/gems/websocket-1.2.9/lib/websocket/handshake/handler/base.rb
tdiary-5.2.2 vendor/bundle/ruby/3.1.0/gems/websocket-1.2.9/lib/websocket/handshake/handler/base.rb
websocket-1.2.9 lib/websocket/handshake/handler/base.rb
websocket-1.2.8 lib/websocket/handshake/handler/base.rb
websocket-1.2.7 lib/websocket/handshake/handler/base.rb