NAME
App::screenorama - Application output to websocket stream
VERSION
0.06
DESCRIPTION
This program allow you to pipe STDOUT and STDERR from a program over a
websocket.
Protocol
The data transmitted over the websocket connection is JSON in each
frame:
* Startup
{"program":$str,"program_args":...}
Same as "program" and "program_args".
* Output
{"output":$str}
Comes after each time the program emit data. NOTE: There's no
guaranty that it will be emitted on newline.
* Exit
{"exit_value":$int,"signal":$int}
The exit value of the application. The websocket will be closed
after you see this.
* Error
{"error":$str}
If something goes wrong with the application or other operating
system errors.
SYNOPSIS
Server
# let others connect to the running program
$ screenorama daemon --listen http://*:5000 -- 'while sleep 1; do echo "hey!"; done'
# pipe the output on incoming request
$ screenorama daemon -- ls -l
# Set parameters from config file
$ MOJO_CONFIG=/path/to/config.pl screenorama daemon
Supported config/environment variables:
* conduit
See Mojo::IOLoop::ReadWriteFork.
Default value: "pty".
Environment variable: "SCREENORAMA_CONDUIT".
* program
The application to run.
* program_args
The arguments given to "program".
* single
Set this to true if the server should just run one application,
shared between every connection. The default is false, meaning a new
instance of "program" will be started on each request.
Environment variable: "SCREENORAMA_SINGLE".
* stdin
Set this to true if the "program" should accept commands from STDIN.
Environment variable: "SCREENORAMA_STDIN".
Client
Connect a browser to <http://localhost:5000> or <ws://localhost:5000> to
see the output.
AUTHOR
Jan Henning Thorsen - "jhthorsen@cpan.org"