Alice

 view release on metacpan or  search on metacpan

lib/Alice/HTTP/Server.pm  view on Meta::CPAN

package Alice::HTTP::Server;

use AnyEvent;
use AnyEvent::HTTP;

use Fliggy::Server;
use Plack::Builder;
use Plack::Middleware::Static;
use Plack::Session::Store::File;
use Plack::Session::State::Cookie;

use Alice::HTTP::Request;
use Alice::HTTP::Stream::XHR;
use Alice::HTTP::Stream::WebSocket;

use JSON;
use Encode;
use Any::Moose;

has app => (

lib/Alice/HTTP/Server.pm  view on Meta::CPAN

  # eval in case server can't bind port
  eval {
    $httpd = Fliggy::Server->new(
      host => $self->address,
      port => $self->port,
    );
    $httpd->register_service(
      builder {
        enable "Session",
          store => $self->session,
          state => Plack::Session::State::Cookie->new(expires => 60 * 60 * 24 * 7);
        enable "Static", path => qr{^/static/}, root => $self->assets;
        enable "+Alice::HTTP::WebSocket";
        sub {
          my $env = shift;
          return sub {$self->dispatch($env, shift)}
        }
      }
    );
  };



( run in 0.627 second using v1.01-cache-2.11-cpan-e9199f4ba4c )