summary refs log tree commit diff
path: root/chat.pl
diff options
context:
space:
mode:
Diffstat (limited to 'chat.pl')
-rwxr-xr-xchat.pl39
1 files changed, 39 insertions, 0 deletions
diff --git a/chat.pl b/chat.pl
new file mode 100755
index 0000000..bcdfb02
--- /dev/null
+++ b/chat.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/env perl
+use lib ('/home/franck/code/git/dancer/lib');
+use Dancer;
+
+use Plack::Builder;
+use Plack::App::Cascade;
+use Web::Hippie::App::JSFiles;
+
+use lib ('lib');
+
+load_app 'chat';
+load_app 'chat::websocket';
+
+my $dancer_base = sub {
+    my $env     = shift;
+    my $request = Dancer::Request->new($env);
+    Dancer->dance($request);
+};
+
+my $websocket = sub {
+    my $env = shift;
+    my $request = Dancer::Request->new($env);
+    Dancer->dance($request);
+};
+
+builder {
+    mount '/_hippie' => builder {
+        enable "+Web::Hippie";
+        enable "+Web::Hippie::Pipe";
+        $websocket;
+    };
+    mount '/static' => Plack::App::Cascade->new(
+        apps => [
+            Web::Hippie::App::JSFiles->new->to_app,
+            Plack::App::File->new( root => 'public' )->to_app,
+        ]
+    );
+    mount '/' => $dancer_base;
+};