New
[simpleserver-moved-to-github.git] / logging-server.pl
1 #!/usr/bin/perl -w
2
3 # $Id: logging-server.pl,v 1.1 2004-09-03 11:42:35 mike Exp $
4 #
5 # This is just about the simplest possible SimpleServer-based Z39.50
6 # server.  It exists only to log the data-structures that are handed
7 # to the back-end functions, and does only enough work otherwise to
8 # hand the client a coherent (if useless) response to its requests.
9
10 use strict;
11 use warnings;
12 use Net::Z3950::SimpleServer;
13 use Data::Dumper;
14
15 my $handler = new Net::Z3950::SimpleServer(INIT => \&init_handler,
16                                            CLOSE => \&close_handler,
17                                            SEARCH => \&search_handler,
18                                            FETCH => \&fetch_handler);
19 $handler->launch_server("logging-server.pl", @ARGV);
20
21 sub init_handler {
22     my $href = shift;
23     print "INIT: ", Dumper($href);
24 }
25
26 sub search_handler {
27     my $href = shift;
28     print "Search: ", Dumper($href);
29     $href->{HITS} = 1;
30 }
31
32 sub fetch_handler {
33     my $href = shift;
34     print "Fetch: ", Dumper($href);
35     my $record = "<dummy>foo</dummy>";
36     $href->{RECORD} = $record;
37     $href->{LEN} = length($record);
38     $href->{NUMBER} = 1;
39     $href->{BASENAME} = "Test";
40 }
41
42 sub close_handler {
43     my $href = shift;
44     print "Close: ", Dumper($href);
45 }