=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/example/cgi-bin/Attic/todo.cgi,v retrieving revision 1.3 retrieving revision 1.10 diff -u -r1.3 -r1.10 --- todotxt/Text-Todo-REST-API/example/cgi-bin/Attic/todo.cgi 2010/01/18 00:32:41 1.3 +++ todotxt/Text-Todo-REST-API/example/cgi-bin/Attic/todo.cgi 2010/02/02 17:03:42 1.10 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $AFresh1: todo.cgi,v 1.2 2010/01/17 23:58:42 andrew Exp $ +# $AFresh1: todo.cgi,v 1.9 2010/02/02 06:11:05 andrew Exp $ ######################################################################## # todo.cgi *** REST CGI Handler for todo.txt files # @@ -14,30 +14,39 @@ use warnings; use CGI; +use lib 'lib'; use Text::Todo::REST::API; -use Text::Todo::REST::API::text; -use Text::Todo::REST::API::md5; -my $q = CGI->new(); -my $api = Text::Todo::REST::API->new( - { basedir => '/users', - subdir => 'todo', - path_info => $ENV{PATH_INFO}, - } -); +my $q = CGI->new(); -my $method = $ENV{HTTP_METHOD} || 'GET'; +my $api; +eval { + $api = Text::Todo::REST::API->new( + { todo_dir => '/users/andrew/todo', + default_format => 'text', + } + ); +}; -print $q->header($api->content_type); -my @result; -eval { @result = $api->$method( $q->Vars ) }; if ($@) { print "Error: $@\n"; - exit 2; + exit 1; } -eval { print $api->Dump(@result) }; +my $method = $q->request_method or die 'REQUEST_METHOD required'; + +my $response; +eval { ($response) = $api->$method( $q->path_info, $q->Vars ) }; if ($@) { print "Error: $@\n"; exit 2; +} +if ($response) { + print $q->header($response->content_type); + print $response->render(); +} +else { + print $q->header(), $q->start_html; + print $q->h1("Unknown ERROR!"); + print $q->end_html; }