message-pass1p
Command line message::passing runner script
Usage
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
Overview
Builds a simple chain of 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.
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:
input
|
Message::Passing::Input::XXX |
|---|---|
output
|
Message::Passing::Output::XXX |
filter
|
Message::Passing::Filter::XXX |
encoder
|
Message::Passing::Filter::Encoder::XXX |
decoder
|
Message::Passing::Filter::Decoder::XXX |
Config file
If the "--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 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.
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>
Author, copyright and license
See Message::Passing.
Releases
6 releases since Debian 8 (Jessie); the text changed 3 times.