Alexander Hartmaier > Message-Passing-0.114 > message-pass

Download:
Message-Passing-0.114.tar.gz

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Source  

NAME ^

message-pass - command line Message::Passing runner script

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

DESCRIPTION ^

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.

SEE ALSO ^

Message::Passing
Message::Passing::Manual

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.

syntax highlighting: