Group
Extension

Matches 4

Plack-App-Prack ( L/LE/LEEDO/Plack-App-Prack-0.02.tar.gz, LEEDO, 2012; MetaCPAN )
Plack-App-Prack/lib/Plack/App/Prack.pm ( view source; MetaCPAN )
PTION

This app will fork a ruby process that can handle rack requests.
Requests are converted to JSON and sent over a unix socket as a
netstring, a response is then read and used as the psgi response
Plack-App-Prack ( L/LE/LEEDO/Plack-App-Prack-0.02.tar.gz, LEEDO, 2012; MetaCPAN )
Plack-App-Prack/lib/Plack/App/Prack/Response.pm ( view source; MetaCPAN )
package Plack::App::Prack::Response;

use strict;
use warnings;

use JSON;

sub new {
  my ($class, $sock) = @_;

  die "socket is required" unless $sock;

  my $self = bless { sock => $sock }, $class
de_json $self->read_ns;
  $self->{body} = [];

  while (my $chunk = $self->read_ns) {
    push @{$self->{body}}, $chunk;
  }
  
  $self->{sock}->shutdown(0);
}

sub handle_error {
  my ($self, $json) 
= @_;
  my $stack = decode_json $json;
  die join "\n", map {$stack->{$_}} qw/name message stack/;
}

sub headers {
  my $self = shift;
  if ($self->{headers}) {
    return [ %{$self->{headers}} ];
  
Plack-App-Prack ( L/LE/LEEDO/Plack-App-Prack-0.02.tar.gz, LEEDO, 2012; MetaCPAN )
Plack-App-Prack/lib/Plack/App/Prack/Request.pm ( view source; MetaCPAN )
package Plack::App::Prack::Request;

use strict;
use warnings;

use JSON;
use Plack::App::Prack::Response;

my @ENV_KEYS = qw/REQUEST_METHOD PATH_INFO QUERY_STRING 
                  SERVER_NAME SERVE
ift;
  return length($data).":".$data.",";
}

sub write {
  my $self = shift;

  my $env = encode_json($self->_filter_env($self->{env}));

  my $input = "";
  my $buf = "";

  while ($self->{env}->{'p
Plack-App-Prack ( L/LE/LEEDO/Plack-App-Prack-0.02.tar.gz, LEEDO, 2012; MetaCPAN )
Plack-App-Prack/lib/Plack/App/Prack/Worker.pm ( view source; MetaCPAN )
ck::App::Prack::Worker;

use strict;
use warnings;

use Time::HiRes;
use File::Temp ':POSIX';
use JSON;
use IO::Socket::UNIX;
use Plack::App::Prack::Request;

my $NACK = 'Nack::Server.run(ARGV[0], :fi
= $sock->getline;

    # could be a stack trace
    if ($p !~ /^\d+$/) {
      my $stack = decode_json $p;
      die "$stack->{name}: $stack->{message}";
    }

    $self->{sock} = $sock;
    $self->{

Powered by Groonga
Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on GitHub.