NAME¶
Message::Passing::Role::Filter - Simple abstraction for filtering messages
SYNOPSIS¶
package My::Filter;
use Moo;
use namespace::clean -except => 'meta';
with 'Message::Passing::Role::Filter';
sub filter {
my ($self, $message) = @_;
# Do something with $message
return $message; # Or return undef to halt message!
}
1;
DESCRIPTION¶
Both a producer and a consumer of messages, able to filter out messages based
upon their contents, or permute the structure of messages.
REQUIRED METHODS¶
filter¶
Called to filter the message. Returns the mangled message.
Note if you return undef then the message is not propagated further up the
chain, which may be used for filtering out unwanted messages.
REQUIRED ATTRIBUTES¶
output_to¶
From Message::Passing::Role::Input.
METHODS¶
consume¶
Consumers a message, calling the filter method provided by the user with the
message.
In the case where the filter returns a message, outputs the message to the next
step in the chain.
SEE ALSO¶
- Message::Passing
- Message::Passing::Manual::Concepts
This module exists due to the wonderful people at Suretec Systems Ltd.
<
http://www.suretecsystems.com/> who sponsored its development for its
VoIP division called SureVoIP <
http://www.surevoip.co.uk/> for use with
the SureVoIP API -
<
http://www.surevoip.co.uk/support/wiki/api_documentation>
AUTHOR, COPYRIGHT AND LICENSE¶
See Message::Passing.