--- /dev/null
+package NCIP;
+use NCIP::Configuration;
+use Modern::Perl;
+
+
+use FileHandle;
+
+sub new {
+ my $self = shift;
+ my $config_file = shift;
+
+ my $config = NCIP::Configuration->new($config_file);
+ return bless $config, $self;
+
+}
+
+sub process_request {
+ my $self = shift;
+ my $xml = shift;
+
+ my $response = "<HTML> <HEAD> <TITLE>Hello There</TITLE> </HEAD> <BODY> <H1>Hello You Big JERK!</H1> Who would take this book seriously if the first eaxample didn't say \"hello world\"? </BODY> </HTML>";
+
+ return $response;
+}
+
+1;
--- /dev/null
+package NCIPResponder;
+use Modern::Perl;
+use NCIP;
+
+use FileHandle;
+
+use Apache2::Const -compile => qw(OK :log :http :methods :cmd_how :override);
+use Apache2::RequestRec ();
+use Apache2::RequestIO ();
+use NCIPServer::NCIP;
+
+sub handler {
+ my $r = shift;
+
+ return Apache2::Const::HTTP_METHOD_NOT_ALLOWED unless $r->method_number eq Apache2::Const::M_POST;
+
+ my $NCIPConfigFile = $r->dir_config('NCIPConfigFile');
+
+ if (!defined($NCIPConfigFile)) {
+ die sprintf "error: There is no NCIPConfigFile defined\n";
+ } else {
+ if (! (-r $NCIPConfigFile)) {
+ die sprintf "error: NCIPConfigFile %s does not exist or is not readable\n", $NCIPConfigFile;
+ }
+ }
+
+ my $ncip = NCIP->new($NCIPConfigFile);
+
+ $r->content_type('text/html');
+ my $tmp_buf;
+ my $input_xml;
+
+ while ($r->read($tmp_buf, 1024)) {
+ $input_xml .= $tmp_buf;
+ }
+
+ my $response_xml = $ncip->process_request($input_xml);
+
+ $r->print($response_xml);
+ return Apache2::Const::OK;
+}
+
+1;