--- trunk/server.pl 2008/06/28 18:49:47 9 +++ trunk/server.pl 2008/06/28 22:13:05 10 @@ -1,33 +1,22 @@ #!/usr/bin/perl -# "HTTP Push" is not readily attainable, so instead we will simulate it using a -# long-pull, aka "Comet". The client browser simply opens an HTTP connection to -# the server and waits for a response. The server doesn't respond until there -# is some event (here a new message), giving the appearance of HTTP-push. -# -# Each user gets three continuations for these three cases: -# -# - Initial load or reload of the page -# - Sending a message (uses AJAX on the client) -# - Recieving messages (uses COMET on the client) +# server of yet unnamed framework +use warnings; use strict; + use lib 'lib'; + use Continuity; use Continuity::REPL; use Data::Dump qw/dump/; -use View; - -use Template::Declare; -use Template::Declare::Tags; # defaults to 'HTML' -Template::Declare->init( roots => ['View']); -warn "templates = ",dump( Template::Declare->templates ); +use HTML; my @messages; # Global (shared) list of messages my $got_message; # Flag to indicate that there is a new message to display -use vars qw( $repl $server @messages ); +use vars qw( $repl $server ); $repl = Continuity::REPL->new; $server = Continuity->new( @@ -107,8 +96,20 @@ sub send_base_page { my ($req) = @_; while(1) { - warn "base page"; - $req->print( Template::Declare->show( 'user' ) ); + warn "param = ",dump($req->param); + + my $id = $req->param('id'); +# $id = 1 unless $id =~ m/^\d+$/; + + use Strix::User; + my $user = Strix::User->new( id => $id ); + + if ( ! $user ) { + $req->print( "Can't find user with id $id" ); + } else { + $req->print( HTML->view( 'user', $user ) ); + } + =for later $req->print(qq{