webgui/lib/WebGUI/Operation/Spectre.pm
JT Smith f420103b2e - fix: Shopping Cart Not Working
- fix: Editing Products Template wipes out SKU
 - fix: Email to RFE List Going to Spam
 - fix: 7.0.0-7.0.1 upgrade -- op called w/o passing session
 - fix: spectre.pl daemon error
 - Changed the Spectre tests to be a seperate option on the spectre.pl command
   line, which fixed a problem with the WRE monitor, and also enabled us to
   add more complete connectivity testing.
2006-07-24 20:00:53 +00:00

58 lines
1.7 KiB
Perl

package WebGUI::Operation::Spectre;
#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2006 Plain Black Corporation.
#-------------------------------------------------------------------
# Please read the legal notices (docs/legal.txt) and the license
# (docs/license.txt) that came with this distribution before using
# this software.
#-------------------------------------------------------------------
# http://www.plainblack.com info@plainblack.com
#-------------------------------------------------------------------
use strict;
use WebGUI::Utility;
use POE::Component::IKC::ClientLite;
=head1 NAME
Package WebGUI::Operation::Spectre
=head1 DESCRIPTION
Operations for Spectre.
=cut
#-------------------------------------------------------------------
=head2 www_spectreTest ( )
Spectre executes this function to see if WebGUI connectivity is working.
=cut
sub www_spectreTest {
my $session = shift;
$session->http->setMimeType("text/plain");
$session->http->setCacheControl("none");
unless (isInSubnet($session->env->get("REMOTE_ADDR"), $session->config->get("spectreSubnets"))) {
$session->errorHandler->security("make a Spectre workflow runner request, but we're only allowed to accept requests from ".join(",",@{$session->config->get("spectreSubnets")}).".");
return "subnet";
}
my $remote = create_ikc_client(
port=>$session->config->get("spectrePort"),
ip=>$session->config->get("spectreIp"),
name=>rand(100000),
timeout=>10
);
# Can't perform this test until I get smarter. =)
return "spectre" unless defined $remote;
my $result = $remote->post_respond('admin/ping');
$remote->disconnect;
return "spectre" unless defined $result;
return "success";
}
1;