private void OnChannelRequest(object sender, MessageEventArgs<ChannelRequestMessage> e)
{
if (e.Message.LocalChannelNumber == LocalChannelNumber)
{
try
{
RequestInfo requestInfo;
if (_session.ConnectionInfo.ChannelRequests.TryGetValue(e.Message.RequestName, out requestInfo))
{
// Load request specific data
requestInfo.Load(e.Message.RequestData);
// Raise request specific event
OnRequest(requestInfo);
}
else
{
// TODO: we should also send a SSH_MSG_CHANNEL_FAILURE message
throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, "Request '{0}' is not supported.", e.Message.RequestName));
}
}
catch (Exception ex)
{
OnChannelException(ex);
}
}
}