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 ||= UNICODE
  end
  unless string.encoding.name == encoding
    string = string.dup if string.frozen?
    string.force_encoding(encoding)
  end
  string.valid_encoding? ? string : nil
end