using System;
using System.Threading.Tasks;
namespace Tapeti.Config
{
///
/// Denotes middleware that runs for controller methods.
///
public interface IControllerMessageMiddleware
{
///
/// Called after the message has passed any filter middleware and the controller has been instantiated,
/// but before the method has been called.
///
///
/// Call to pass the message to the next handler in the chain or call the controller method
Task Handle(IControllerMessageContext context, Func next);
}
}