class WebSocket::Driver

def self.encode(string, encoding = nil)

def self.encode(string, encoding = nil)
  case string
    when Array then
      string = string.pack('C*')
      encoding ||= :binary
    when String then
      encoding ||= :utf8
  end
  encodings = {:utf8 => 'UTF-8', :binary => 'ASCII-8BIT'}
  string.force_encoding(encodings[encoding]) if string.respond_to?(:force_encoding)
  return nil if encoding == :utf8 and not valid_utf8?(string)
  string
end