Module Stomp
In: lib/stomp/version.rb
lib/stomp/sslparams.rb
lib/stomp/null_logger.rb
lib/stomp/message.rb
lib/stomp/errors.rb
lib/stomp/constants.rb
lib/stomp/connection.rb
lib/stomp/codec.rb
lib/stomp/client.rb
lib/stomp.rb
lib/connection/utils.rb
lib/connection/utf8.rb
lib/connection/netio.rb
lib/connection/heartbeats.rb
lib/client/utils.rb
lib/client/utils.rb
lib/connection/heartbeats.rb
lib/connection/netio.rb
lib/connection/utf8.rb
lib/connection/utils.rb
lib/stomp.rb
lib/stomp/client.rb
lib/stomp/codec.rb
lib/stomp/connection.rb
lib/stomp/constants.rb
lib/stomp/errors.rb
lib/stomp/message.rb
lib/stomp/null_logger.rb
lib/stomp/sslparams.rb
lib/stomp/version.rb

Classes and Modules

Module Stomp::Error
Class Stomp::Client
Class Stomp::Connection
Class Stomp::HeaderCodec
Class Stomp::Message
Class Stomp::NullLogger
Class Stomp::SSLParams

Constants

CMD_CONNECT = "CONNECT"   Client generated frames
CMD_STOMP = "STOMP"
CMD_DISCONNECT = "DISCONNECT"
CMD_SEND = "SEND"
CMD_SUBSCRIBE = "SUBSCRIBE"
CMD_UNSUBSCRIBE = "UNSUBSCRIBE"
CMD_ACK = "ACK"
CMD_NACK = "NACK"
CMD_BEGIN = "BEGIN"
CMD_COMMIT = "COMMIT"
CMD_ABORT = "ABORT"
CMD_CONNECTED = "CONNECTED"   Server generated names
CMD_MESSAGE = "MESSAGE"
CMD_RECEIPT = "RECEIPT"
CMD_ERROR = "ERROR"
SPL_10 = "1.0"   Protocols
SPL_11 = "1.1"
SPL_12 = "1.2"
SUPPORTED = [SPL_10, SPL_11, SPL_12]   Stomp 1.0 and 1.1
UTF8 = "UTF-8"   1.9 Encoding Name
NULL = "\0"   Octet 0
NL = "\n"   New line
NL_ASCII = 0x0a
LF = "\n"   Line Feed (New Line)
LF_ASCII = 0x0a
CR = "\r"   New line
CR_ASCII = 0x0d
BACK_SLASH = "\\"   Back Slash
BACK_SLASH_ASCII = 0x5c
LITERAL_COLON = ":"   Literal colon
COLON_ASCII = 0x3a
LITERAL_C = "c"   Literal letter c
C_ASCII = 0x63
LITERAL_N = "n"   Literal letter n
N_ASCII = 0x6e
ENCODE_VALUES = [ "\\\\\\\\", "\\", # encoded, decoded "\\" + "n", "\n", "\\" + "r", "\r", "\\c", ":", ]   Codec from/to values.
DECODE_VALUES = [ "\\\\", "\\", # encoded, decoded "\\" + "n", "\n", "\\" + "r", "\r", "\\c", ":", ]  
DEFAULT_CIPHERS = [ ["AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["AES128-SHA256","TLSv1/SSLv3",128,128], ["AES128-SHA","TLSv1/SSLv3",128,128], ["AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["AES256-SHA256","TLSv1/SSLv3",256,256], ["AES256-SHA","TLSv1/SSLv3",256,256], ["CAMELLIA128-SHA","TLSv1/SSLv3",128,128], ["CAMELLIA256-SHA","TLSv1/SSLv3",256,256], ["DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["DES-CBC-SHA","TLSv1/SSLv3",56,56], ["DHE-DSS-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["DHE-DSS-AES128-SHA256","TLSv1/SSLv3",128,128], ["DHE-DSS-AES128-SHA","TLSv1/SSLv3",128,128], ["DHE-DSS-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["DHE-DSS-AES256-SHA256","TLSv1/SSLv3",256,256], ["DHE-DSS-AES256-SHA","TLSv1/SSLv3",256,256], ["DHE-DSS-CAMELLIA128-SHA","TLSv1/SSLv3",128,128], ["DHE-DSS-CAMELLIA256-SHA","TLSv1/SSLv3",256,256], ["DHE-DSS-SEED-SHA","TLSv1/SSLv3",128,128], ["DHE-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["DHE-RSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["DHE-RSA-AES128-SHA","TLSv1/SSLv3",128,128], ["DHE-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["DHE-RSA-AES256-SHA256","TLSv1/SSLv3",256,256], ["DHE-RSA-AES256-SHA","TLSv1/SSLv3",256,256], ["DHE-RSA-CAMELLIA128-SHA","TLSv1/SSLv3",128,128], ["DHE-RSA-CAMELLIA256-SHA","TLSv1/SSLv3",256,256], ["DHE-RSA-SEED-SHA","TLSv1/SSLv3",128,128], ["ECDH-ECDSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["ECDH-ECDSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["ECDH-ECDSA-AES128-SHA","TLSv1/SSLv3",128,128], ["ECDH-ECDSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["ECDH-ECDSA-AES256-SHA384","TLSv1/SSLv3",256,256], ["ECDH-ECDSA-AES256-SHA","TLSv1/SSLv3",256,256], ["ECDH-ECDSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["ECDH-ECDSA-RC4-SHA","TLSv1/SSLv3",128,128], ["ECDHE-ECDSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["ECDHE-ECDSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["ECDHE-ECDSA-AES128-SHA","TLSv1/SSLv3",128,128], ["ECDHE-ECDSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["ECDHE-ECDSA-AES256-SHA384","TLSv1/SSLv3",256,256], ["ECDHE-ECDSA-AES256-SHA","TLSv1/SSLv3",256,256], ["ECDHE-ECDSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["ECDHE-ECDSA-RC4-SHA","TLSv1/SSLv3",128,128], ["ECDHE-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["ECDHE-RSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["ECDHE-RSA-AES128-SHA","TLSv1/SSLv3",128,128], ["ECDHE-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["ECDHE-RSA-AES256-SHA384","TLSv1/SSLv3",256,256], ["ECDHE-RSA-AES256-SHA","TLSv1/SSLv3",256,256], ["ECDHE-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["ECDHE-RSA-RC4-SHA","TLSv1/SSLv3",128,128], ["ECDH-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["ECDH-RSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["ECDH-RSA-AES128-SHA","TLSv1/SSLv3",128,128], ["ECDH-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["ECDH-RSA-AES256-SHA384","TLSv1/SSLv3",256,256], ["ECDH-RSA-AES256-SHA","TLSv1/SSLv3",256,256], ["ECDH-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["ECDH-RSA-RC4-SHA","TLSv1/SSLv3",128,128], ["EDH-DSS-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["EDH-DSS-DES-CBC-SHA", "TLSv1/SSLv3", 56, 56], ["EDH-DSS-DES-CBC-SHA","TLSv1/SSLv3",56,56], ["EDH-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["EDH-RSA-DES-CBC-SHA","TLSv1/SSLv3",56,56], ["EXP-DES-CBC-SHA","TLSv1/SSLv3",40,56], ["EXP-EDH-DSS-DES-CBC-SHA","TLSv1/SSLv3",40,56], ["EXP-EDH-RSA-DES-CBC-SHA","TLSv1/SSLv3",40,56], ["EXP-RC2-CBC-MD5","TLSv1/SSLv3",40,128], ["EXP-RC4-MD5", "TLSv1/SSLv3", 40, 128], ["PSK-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168], ["PSK-AES128-CBC-SHA","TLSv1/SSLv3",128,128], ["PSK-AES256-CBC-SHA","TLSv1/SSLv3",256,256], ["PSK-RC4-SHA","TLSv1/SSLv3",128,128], ["RC4-MD5","TLSv1/SSLv3",128,128], ["RC4-SHA","TLSv1/SSLv3",128,128], ["SEED-SHA","TLSv1/SSLv3",128,128], ["SRP-DSS-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168], ["SRP-DSS-AES-128-CBC-SHA","TLSv1/SSLv3",128,128], ["SRP-DSS-AES-256-CBC-SHA","TLSv1/SSLv3",256,256], ["SRP-RSA-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168], ["SRP-RSA-AES-128-CBC-SHA","TLSv1/SSLv3",128,128], ["SRP-RSA-AES-256-CBC-SHA","TLSv1/SSLv3",256,256], ]   A fairly safe and generally supported ciphers list.
URL_REPAT = '((([\w~!@#$%^&*()\-+=.?:<>,.]*\w):([\w~!@#$%^&*()\-+=.?:<>,.]*))?@)?([\w\.\-]+):(\d+)'   stomp URL regex pattern, for e.g. login:passcode@host:port or host:port
FAILOVER_REGEX = /^failover:(\/\/)?\(stomp(\+ssl)?:\/\/#{URL_REPAT}(,stomp(\+ssl)?:\/\/#{URL_REPAT})*\)(\?(.*))?$/  
 Failover URL regex, for e.g.
failover:(stomp+ssl://login1:passcode1@remotehost1:61612,stomp://login2:passcode2@remotehost2:61613)
CMD_CONNECT = "CONNECT"   Client generated frames
CMD_STOMP = "STOMP"
CMD_DISCONNECT = "DISCONNECT"
CMD_SEND = "SEND"
CMD_SUBSCRIBE = "SUBSCRIBE"
CMD_UNSUBSCRIBE = "UNSUBSCRIBE"
CMD_ACK = "ACK"
CMD_NACK = "NACK"
CMD_BEGIN = "BEGIN"
CMD_COMMIT = "COMMIT"
CMD_ABORT = "ABORT"
CMD_CONNECTED = "CONNECTED"   Server generated names
CMD_MESSAGE = "MESSAGE"
CMD_RECEIPT = "RECEIPT"
CMD_ERROR = "ERROR"
SPL_10 = "1.0"   Protocols
SPL_11 = "1.1"
SPL_12 = "1.2"
SUPPORTED = [SPL_10, SPL_11, SPL_12]   Stomp 1.0 and 1.1
UTF8 = "UTF-8"   1.9 Encoding Name
NULL = "\0"   Octet 0
NL = "\n"   New line
NL_ASCII = 0x0a
LF = "\n"   Line Feed (New Line)
LF_ASCII = 0x0a
CR = "\r"   New line
CR_ASCII = 0x0d
BACK_SLASH = "\\"   Back Slash
BACK_SLASH_ASCII = 0x5c
LITERAL_COLON = ":"   Literal colon
COLON_ASCII = 0x3a
LITERAL_C = "c"   Literal letter c
C_ASCII = 0x63
LITERAL_N = "n"   Literal letter n
N_ASCII = 0x6e
ENCODE_VALUES = [ "\\\\\\\\", "\\", # encoded, decoded "\\" + "n", "\n", "\\" + "r", "\r", "\\c", ":", ]   Codec from/to values.
DECODE_VALUES = [ "\\\\", "\\", # encoded, decoded "\\" + "n", "\n", "\\" + "r", "\r", "\\c", ":", ]  
DEFAULT_CIPHERS = [ ["AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["AES128-SHA256","TLSv1/SSLv3",128,128], ["AES128-SHA","TLSv1/SSLv3",128,128], ["AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["AES256-SHA256","TLSv1/SSLv3",256,256], ["AES256-SHA","TLSv1/SSLv3",256,256], ["CAMELLIA128-SHA","TLSv1/SSLv3",128,128], ["CAMELLIA256-SHA","TLSv1/SSLv3",256,256], ["DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["DES-CBC-SHA","TLSv1/SSLv3",56,56], ["DHE-DSS-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["DHE-DSS-AES128-SHA256","TLSv1/SSLv3",128,128], ["DHE-DSS-AES128-SHA","TLSv1/SSLv3",128,128], ["DHE-DSS-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["DHE-DSS-AES256-SHA256","TLSv1/SSLv3",256,256], ["DHE-DSS-AES256-SHA","TLSv1/SSLv3",256,256], ["DHE-DSS-CAMELLIA128-SHA","TLSv1/SSLv3",128,128], ["DHE-DSS-CAMELLIA256-SHA","TLSv1/SSLv3",256,256], ["DHE-DSS-SEED-SHA","TLSv1/SSLv3",128,128], ["DHE-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["DHE-RSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["DHE-RSA-AES128-SHA","TLSv1/SSLv3",128,128], ["DHE-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["DHE-RSA-AES256-SHA256","TLSv1/SSLv3",256,256], ["DHE-RSA-AES256-SHA","TLSv1/SSLv3",256,256], ["DHE-RSA-CAMELLIA128-SHA","TLSv1/SSLv3",128,128], ["DHE-RSA-CAMELLIA256-SHA","TLSv1/SSLv3",256,256], ["DHE-RSA-SEED-SHA","TLSv1/SSLv3",128,128], ["ECDH-ECDSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["ECDH-ECDSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["ECDH-ECDSA-AES128-SHA","TLSv1/SSLv3",128,128], ["ECDH-ECDSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["ECDH-ECDSA-AES256-SHA384","TLSv1/SSLv3",256,256], ["ECDH-ECDSA-AES256-SHA","TLSv1/SSLv3",256,256], ["ECDH-ECDSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["ECDH-ECDSA-RC4-SHA","TLSv1/SSLv3",128,128], ["ECDHE-ECDSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["ECDHE-ECDSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["ECDHE-ECDSA-AES128-SHA","TLSv1/SSLv3",128,128], ["ECDHE-ECDSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["ECDHE-ECDSA-AES256-SHA384","TLSv1/SSLv3",256,256], ["ECDHE-ECDSA-AES256-SHA","TLSv1/SSLv3",256,256], ["ECDHE-ECDSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["ECDHE-ECDSA-RC4-SHA","TLSv1/SSLv3",128,128], ["ECDHE-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["ECDHE-RSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["ECDHE-RSA-AES128-SHA","TLSv1/SSLv3",128,128], ["ECDHE-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["ECDHE-RSA-AES256-SHA384","TLSv1/SSLv3",256,256], ["ECDHE-RSA-AES256-SHA","TLSv1/SSLv3",256,256], ["ECDHE-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["ECDHE-RSA-RC4-SHA","TLSv1/SSLv3",128,128], ["ECDH-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128], ["ECDH-RSA-AES128-SHA256","TLSv1/SSLv3",128,128], ["ECDH-RSA-AES128-SHA","TLSv1/SSLv3",128,128], ["ECDH-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256], ["ECDH-RSA-AES256-SHA384","TLSv1/SSLv3",256,256], ["ECDH-RSA-AES256-SHA","TLSv1/SSLv3",256,256], ["ECDH-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["ECDH-RSA-RC4-SHA","TLSv1/SSLv3",128,128], ["EDH-DSS-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["EDH-DSS-DES-CBC-SHA", "TLSv1/SSLv3", 56, 56], ["EDH-DSS-DES-CBC-SHA","TLSv1/SSLv3",56,56], ["EDH-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168], ["EDH-RSA-DES-CBC-SHA","TLSv1/SSLv3",56,56], ["EXP-DES-CBC-SHA","TLSv1/SSLv3",40,56], ["EXP-EDH-DSS-DES-CBC-SHA","TLSv1/SSLv3",40,56], ["EXP-EDH-RSA-DES-CBC-SHA","TLSv1/SSLv3",40,56], ["EXP-RC2-CBC-MD5","TLSv1/SSLv3",40,128], ["EXP-RC4-MD5", "TLSv1/SSLv3", 40, 128], ["PSK-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168], ["PSK-AES128-CBC-SHA","TLSv1/SSLv3",128,128], ["PSK-AES256-CBC-SHA","TLSv1/SSLv3",256,256], ["PSK-RC4-SHA","TLSv1/SSLv3",128,128], ["RC4-MD5","TLSv1/SSLv3",128,128], ["RC4-SHA","TLSv1/SSLv3",128,128], ["SEED-SHA","TLSv1/SSLv3",128,128], ["SRP-DSS-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168], ["SRP-DSS-AES-128-CBC-SHA","TLSv1/SSLv3",128,128], ["SRP-DSS-AES-256-CBC-SHA","TLSv1/SSLv3",256,256], ["SRP-RSA-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168], ["SRP-RSA-AES-128-CBC-SHA","TLSv1/SSLv3",128,128], ["SRP-RSA-AES-256-CBC-SHA","TLSv1/SSLv3",256,256], ]   A fairly safe and generally supported ciphers list.
URL_REPAT = '((([\w~!@#$%^&*()\-+=.?:<>,.]*\w):([\w~!@#$%^&*()\-+=.?:<>,.]*))?@)?([\w\.\-]+):(\d+)'   stomp URL regex pattern, for e.g. login:passcode@host:port or host:port
FAILOVER_REGEX = /^failover:(\/\/)?\(stomp(\+ssl)?:\/\/#{URL_REPAT}(,stomp(\+ssl)?:\/\/#{URL_REPAT})*\)(\?(.*))?$/  
 Failover URL regex, for e.g.
failover:(stomp+ssl://login1:passcode1@remotehost1:61612,stomp://login2:passcode2@remotehost2:61613)

[Validate]