diff --git a/src/amqproxy/server.cr b/src/amqproxy/server.cr index 7d4b850..c5aacbc 100644 --- a/src/amqproxy/server.cr +++ b/src/amqproxy/server.cr @@ -86,6 +86,10 @@ module AMQProxy close = AMQ::Protocol::Frame::Connection::Close.new(403_u16, "UPSTREAM_ERROR", 0_u16, 0_u16) close.to_io socket, IO::ByteFormat::NetworkEndian socket.flush + rescue ex : IO::Error + @log.error { "IO Error for user '#{user}' to vhost '#{vhost}': #{ex.message}" } + close = AMQ::Protocol::Frame::Connection::Close.new(403_u16, "IO_ERROR", 0_u16, 0_u16) + close.to_io socket, IO::ByteFormat::NetworkEndian end rescue ex : Client::Error @log.debug { "Client disconnected: #{remote_address}: #{ex.inspect}" }