DDC-Concordance
view release on metacpan or search on metacpan
ddc-cgi.perl view on Meta::CPAN
open(RC,"<$rcfile") or die("$prog: open failed for config file '$rcfile': $!");
local $/=undef;
my $rcstr = <RC>;
close(RC) or die("$prog: close failed for config file '$rcfile': $!");
##-- remove comments
$rcstr =~ s/^\#.*$//mg;
##-- decode
my $rcdata = decode_json($rcstr)
or die("$prog: could not decode config data from '$rcfile': $!");
##-- merge (clobber)
%$cfg = (%$cfg,%$rcdata);
return $cfg;
}
##======================================================================
## MAIN
##-- site configuration
lib/DDC/Filter.pm view on Meta::CPAN
return sub {
##-- read client data
my $ns = shift;
my $sclient = DDC::Client->new(connect=>$filter->{connect});
$sclient->open();
my $chost = $ns->{sock}->peerhost.':'.$ns->{sock}->peerport;
my $shost = $sclient->{sock}->peerhost.':'.$sclient->{sock}->peerport;
$filter->logmsg('info', "connect from client $chost --> server $shost");
my $cdata = $filter->readData($ns->{sock});
my $fcdata = $filter->filterInput($cdata);
$filter->logmsg('debug', "got query=($cdata)->($fcdata) from client $chost");
$filter->logmsg('trace', "got query from client $chost");
$sclient->send($fcdata);
$filter->logmsg('trace', "passed on query from client $chost to upstream server $shost");
my $sdata = $sclient->readData();
$filter->logmsg('trace', "got response from upstream server $shost");
my $fsdata = $filter->filterOutput($sdata);
$filter->logmsg('debug', "got response=($sdata)->($fsdata) from upstream server $shost");
$filter->sendfh($ns->{sock}, $fsdata);
$filter->logmsg('trace', "passed response from upstream server $shost to client $chost");
( run in 0.476 second using v1.01-cache-2.11-cpan-454fe037f31 )