lib/connection/utils.rb in stomp-1.2.7 vs lib/connection/utils.rb in stomp-1.2.8
- old
+ new
@@ -81,12 +81,15 @@
_validate_hbheader()
end
# _post_connect handles low level logic just after a physical connect.
def _post_connect()
- return unless (@connect_headers[:"accept-version"] && @connect_headers[:host])
- return if @connection_frame.command == Stomp::CMD_ERROR
+ return unless (@connect_headers[:"accept-version"] && @connect_headers[:host]) # 1.0
+ if @connection_frame.command == Stomp::CMD_ERROR
+ @connection_frame.headers = _decodeHeaders(@connection_frame.headers)
+ return
+ end
# We are CONNECTed
cfh = @connection_frame.headers.symbolize_keys
@protocol = cfh[:version]
if @protocol
# Should not happen, but check anyway
@@ -107,11 +110,11 @@
used_socket = nil if closed?
while used_socket.nil? || !@failure.nil?
@failure = nil
begin
- used_socket = open_socket()
+ used_socket = open_socket() # sets @closed = false if OK
# Open is complete
connect(used_socket)
if @logger && @logger.respond_to?(:on_connected)
@logger.on_connected(log_params)
end
@@ -213,17 +216,17 @@
# __old_receive receives a frame, blocks until the frame is received.
def __old_receive()
# The receive may fail so we may need to retry.
while TRUE
begin
- used_socket = socket
+ used_socket = socket()
return _receive(used_socket)
rescue
@failure = $!
raise unless @reliable
errstr = "receive failed: #{$!}"
if @logger && @logger.respond_to?(:on_miscerr)
- @logger.on_miscerr(log_params, errstr)
+ @logger.on_miscerr(log_params, "es_oldrecv: " + errstr)
else
$stderr.print errstr
end
end
end