Description
Channel::onFrameReceived()
has no path that handles an inbound MethodChannelCloseFrame
.
This means that if the server closes a channel, we get the generic exception message Message: Unhandled method frame Bunny\Protocol\MethodChannelCloseFrame.
, thrown from https://github.com/jakubkulhan/bunny/blob/master/src/Bunny/Channel.php#L623.
It would be great if the exception thrown here included the AMQP error information from the close frame, such as the error code constant and the error message. I'm not sure if it's appropriate to add this to ChannelException
, or whether a new exception type should be added.
Aside from providing more information to the developer I'd like to add that there are programatic use cases for having access to the error code. For example, being able to check if a resource-locked
code is returned when attempting to start an exclusive consumer.
I'm not very familiar with Bunny yet, so please forgive me if I've missed something here. I can put together a PR if you could provide some direction as to what you think should be changed :)
/cc @act28