NAME
App::screenorama - Application output to websocket stream
VERSION
0.02
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 --listen http://*:5000 --single -- 'while sleep 1; do echo "hey!"; done'
# pipe the output on incoming request
$ screenorama -- ls -l
Client
Connect a browser to http://localhost:5000 or ws://localhost:5000 to see the output.
ATTRIBUTES
conduit
$str = $self->conduit;
$self = $self->conduit($str);
Defaults to "pty". Can also be set to "pipe".
program
$str = $self->program;
$self = $self->program($str);
Path, name of to the application to run or the whole command.
program_args
$array_ref = $self->program_args;
$self = $self->program_args([qw( --option )]);
Arguments to "program".
single
$bool = $self->single;
$self = $self->single($bool);
Set this to true if you want all incoming requests to connect to one stream. False means start "program" on each request.
Default: false.
stdin
Allow standard input from websocket to "program".
METHODS
startup
Used to start the web server.
AUTHOR
Jan Henning Thorsen - jhthorsen@cpan.org