/usr/bin/message-pass is in libmessage-passing-perl 0.116-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | #!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; # not running under some shell
use strict;
use warnings;
use Message::Passing;
Message::Passing->start;
1;
=head1 NAME
message-pass - command line Message::Passing runner script
=head1 SYNOPSIS
message-pass [options]
Options:
--input - Input short name (required)
--output - Output short name (required)
--filter - Filter short name (default Null)
--decoder - Decoder short name (default JSON)
--encoder - Encoder short name (default JSON)
--input_options - JSON options string for input
--output_options - JSON options string for output
--filter_options - JSON options string for filter
--decoder_options - JSON options string for decoder
--encoder_options - JSON options string for encoder
OR:
--configfile - Config file (to load with Config::Any)
supplying the above options
=head1 DESCRIPTION
Builds a simple chain of L<Message::Passing> components, looking like this:
Input => Decoder => Filter => Encoder => Output
This allows you to input a message from one protocol, decode it, process
it and then output it again having encoded it.
The simplest example of doing this is:
message-pass --input STDIN --output STDOUT
Which will echo JSON strings you type back to the terminal.
=head1 CLASS NAME EXPANSION
All short class names undergo expansion as detailed below, except for names
which are prefixed with a '+', which implies a full class name.
E.g.
message-pass --input '+My::Example::Input' --output STDOUT
The expansions are:
=over
=item input
Message::Passing::Input::XXX
=item output
Message::Passing::Output::XXX
=item filter
Message::Passing::Filter::XXX
=item encoder
Message::Passing::Filter::Encoder::XXX
=item decoder
Message::Passing::Filter::Decoder::XXX
=back
=head1 CONFIG FILE
If the C<< --configfile >> option is supplied, then a config file will
be used.
The format of data in this config file matches that required of the
command line options, e.g.
{
"input":"XXX",
"input_options":{},
"output":"XXX",
"output_options":{},
"filter":"XXX",
"filter_options":{},
"encoder":"XXX",
"encoder_options":{},
"decoder":"XXX",
"decoder_options":{}
}
Any config format supported by L<Config::Any> can be used, however JSON
is the only format which is certain to work without additional dependencies
which are not required by this module.
=head1 SEE ALSO
=over
=item L<Message::Passing>
=item L<Message::Passing::Manual>
=back
=head1 SPONSORSHIP
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>
=head1 AUTHOR, COPYRIGHT AND LICENSE
See L<Message::Passing>.
=cut
|