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