module Extensions
Manages WebSocket extensions negotiated during the handshake.
Nested Classes and Modules
class ClientManages extensions on the client side, offering and accepting server responses.
class ServerManages extensions on the server side, negotiating client offers and applying the agreed extensions.
Definitions
def self.parse(headers)
Parse a list of extension header values into name and argument pairs.
Signature
-
parameter
headersArray(String) The raw extension header values.
-
yields
{|name, arguments| ...} Each parsed extension.
-
parameter
nameString The name of the extension.
-
parameter
argumentsArray The key-value argument pairs.
-
parameter
Implementation
def self.parse(headers)
return to_enum(:parse, headers) unless block_given?
headers.each do |header|
name, *arguments = header.split(/\s*;\s*/)
arguments = arguments.map do |argument|
argument.split("=", 2)
end
yield name, arguments
end
end