App::Info::HTTPD - Information about web servers on a system


App-Info documentation Contained in the App-Info distribution.

Index


Code Index:

NAME

Top

App::Info::HTTPD - Information about web servers on a system

DESCRIPTION

Top

This subclass of App::Info is an abstract base class for subclasses that provide information about web servers. Its subclasses are required to implement its interface. See App::Info for a complete description and App::Info::HTTPD::Apache for an example implementation.

INTERFACE

Top

In addition to the methods outlined by its App::Info parent class, App::Info::HTTPD offers the following abstract methods

OBJECT METHODS

Top

httpd_root

  my $httpd_root = $app->httpd_root;

The root directory of the HTTPD server.

SUPPORT

Top

This module is stored in an open GitHub repository. Feel free to fork and contribute!

Please file bug reports via GitHub Issues or by sending mail to bug-App-Info@rt.cpan.org.

AUTHOR

Top

David E. Wheeler <david@justatheory.com>

SEE ALSO

Top

App::Info, App::Info::HTTPD::Apache

COPYRIGHT AND LICENSE

Top


App-Info documentation Contained in the App-Info distribution.

package App::Info::HTTPD;

use strict;
use App::Info;
use vars qw(@ISA $VERSION);
@ISA = qw(App::Info);
$VERSION = '0.57';

my $croak = sub {
    my ($caller, $meth) = @_;
    $caller = ref $caller || $caller;
    if ($caller eq __PACKAGE__) {
        $meth = __PACKAGE__ . '::' . shift;
        Carp::croak(__PACKAGE__ . " is an abstract base class. Attempt to " .
                    " call non-existent method $meth");
    } else {
        Carp::croak("Class $caller inherited from the abstract base class " .
                    __PACKAGE__ . "but failed to redefine the $meth method. " .
                    "Attempt to call non-existent method ${caller}::$meth");
    }
};

sub httpd_root { $croak->(shift, 'httpd_root') }

1;
__END__