--- trunk/soap.cgi 2005/05/16 13:52:43 25 +++ trunk/soap.cgi 2005/05/16 16:25:14 27 @@ -1,8 +1,59 @@ #!/usr/bin/perl -w +=head1 NAME + +soap.cgi - CGI SOAP interface to notice sender + +=cut + use strict; -use Nos qw(add_member_to_list add_message_to_queue); +use Nos; + +my $nos = new Nos( + dsn => 'dbi:Pg:dbname=notices', + user => 'dpavlin', + passwd => '', +); + +use SOAP::Transport::HTTP +trace => 'debug'; +SOAP::Transport::HTTP::CGI + ->dispatch_to('Nos::SOAP') + ->handle; + +package Nos::SOAP; + +=head1 SOAP methods + +This methods are thin wrappers to provide SOAP calls. + +=head2 AddMemberToList + + $member_id = AddMemberToList( + list => "My list", + email => "e-mail@example.com", + name => "Full Name" + ); + +=cut + +sub AddMemberToList { + my $self = shift; + + return $nos->add_member_to_list( %{ shift @_ } ); +} + +=head2 AddMessageToList + + $message_id = AddMessageToList( + list => 'My list', + message => 'From: My list...' + ); + +=cut + +sub AddMessageToList { + my $self = shift; -use SOAP::Transport::HTTP; -SOAP::Transport::HTTP::CGI->dispatch_to('Nos')->handle; + return $nos->add_message_to_queue( %{ shift @_ } ); +}