on_error on_message trusted_origin );
use AnyEvent;
use AnyEvent::Handle;
use Plack::Request;
use JSON;
use HTTP::Date;
use Digest::MD5 qw(md5);
sub call {
my ($self, $env) = @_;
my (undef,
ndler) = @_;
my $req = Plack::Request->new($env);
$env->{'hippie.message'} =
JSON::from_json($req->parameters->mixed->{'message'}, { utf8 => 1 });
$env->{'PATH_INFO'} = '/message';
$frame->next_bytes) {
$env->{'hippie.message'} = eval { JSON::decode_json($message) };
if ($@) {
qw(DUI.js
Stream.js
hippie.js
hippie.pipe.js
jquery.ev.js
json2.js)
}
1;
__END__
=head1 NAME
Web::Hippie::App::JSFiles - Serve javascript files for Web::Hip
my ($self, $msg) = @_;
my $bytes = Protocol::WebSocket::Frame->new
( buffer => JSON::encode_json($msg),
version => $self->version)->to_bytes;
$self->h->push_write($bytes);
}
sub send_msg {
my ($self, $msg) = @_;
my $json = JSON::encode_json($msg);
$self->writer->write( "Content-Type: application/json\n\n$json\n--" . $self->boundary. "\n" );
}
1;
__END__
=he
$writer = $responder->
([200,
[ 'Content-Type' => 'application/json',
'Cache-Control' => 'no-cache, must-revalidate',
'Pragma
ate::time2str(time())
]]);
$sub->poll_once(sub { $writer->write(JSON::encode_json(\@_));
$writer->close });
}
}
elsif ($en