GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  APACHE2::MODULE (3)

.ds Aq ’

NAME

Apache2::Module - Perl API for creating and working with Apache modules

CONTENTS

Synopsis



  use Apache2::Module ();
 
  #Define a configuration directive
  my @directives = (
      {
          name => MyDirective,
      }
  );
 
  Apache2::Module::add(__PACKAGE__, \@directives);
 
  # iterate over the whole module list
  for (my $modp = Apache2::Module::top_module(); $modp; $modp = $modp->next) {
      my $name                  = $modp->name;
      my $index                 = $modp->module_index;
      my $ap_api_major_version  = $modp->ap_api_major_version;
      my $ap_api_minor_version  = $modp->ap_api_minor_version;
      my $commands              = $modp->cmds;
  }
 
  # find a specific module
  my $module = Apache2::Module::find_linked_module(mod_ssl.c);
 
  # remove a specific module
  $module->remove_loaded_module();
 
  # access module configuration from a directive
  sub MyDirective {
      my ($self, $parms, $args) = @_;
      my  $srv_cfg = Apache2::Module::get_config($self, $parms->server);
      [...]
  }
 
  # test if an Apache module is loaded
  if (Apache2::Module::loaded(mod_ssl.c)) {
      [...]
  }
 
  # test if a Perl module is loaded
  if (Apache2::Module::loaded(Apache2::Status)) {
      [...]
  }



Description

Apache2::Module provides the Perl API for creating and working with Apache modules

See Apache Server Configuration Customization in Perl.

API

Apache2::Module provides the following functions and/or methods:

CWadd

Add a module’s custom configuration directive to Apache.



  Apache2::Module::add($package, $cmds);



arg1: $package ( string ) the package of the module to add
arg2: $cmds ( ARRAY of HASH refs ) the list of configuration directives to add
ret: no return value
since: 2.0.00
See also Apache Server Configuration Customization in Perl.

CWap_api_major_version

Get the httpd API version this module was build against, <B>notB> the module’s version.



  $major_version = $module->ap_api_major_version();



obj: $module ( Apache2::Module object )
ret: $major_version ( integer )
since: 2.0.00
This methid is used to check that module is compatible with this version of the server before loading it.

CWap_api_minor_version

Get the module API minor version.



  $minor_version = $module->ap_api_minor_version();



obj: $module ( Apache2::Module object )
ret: $minor_version ( integer )
since: 2.0.00
ap_api_minor_version() provides API feature milestones.

It’s not checked during module init.

CWcmds

Get the Apache2::Command object, describing all of the directives this module defines.



  $command = $module->cmds();



obj: $module ( Apache2::Module object )
ret: $command ( Apache2::Command object )
since: 2.0.00

CWget_config

Retrieve a module’s configuration. Used by configuration directives.



  $cfg = Apache2::Module::get_config($class, $server, $dir_config);
  $cfg = Apache2::Module::get_config($class, $server);
  $cfg =          $self->get_config($server, $dir_config);
  $cfg =          $self->get_config($server);



obj: $module ( Apache2::Module object )
arg1: $class ( string ) The Perl package this configuration is for
arg2: $server ( Apache2::ServerRec object ) The current server, typically $r->server or $parms->server.
opt arg3: $dir_config ( Apache2::ConfVector object ) By default, the configuration returned is the server level one. To retrieve the per directory configuration, use $r->per_dir_config as a last argument.
ret: $cfg (HASH reference) A reference to the hash holding the module configuration data.
since: 2.0.00
See also Apache Server Configuration Customization in Perl.

CWfind_linked_module

Find a module based on the name of the module



  $module = Apache2::Module::find_linked_module($name);



arg1: $name ( string ) The name of the module ending in .c
ret: $module ( Apache2::Module object ) The module object if found, undef otherwise.
since: 2.0.00
For example:



  my $module = Apache2::Module::find_linked_module(mod_ssl.c);



CWloaded

Determine if a certain module is loaded



  $loaded = Apache2::Module::loaded($module);



name: $module ( string ) The name of the module to search for.

If $module ends with .c, search all the modules, statically compiled and dynamically loaded.

If $module ends with .so, search only the dynamically loaded modules.

If $module doesn’t contain a ., search the loaded Perl modules (checks %INC).

ret: $loaded ( boolean ) Returns true if the module is loaded, false otherwise.
since: 2.0.00
For example, to test if this server supports ssl:



  if (Apache2::Module::loaded(mod_ssl.c)) {
      [...]
  }



To test is this server dynamically loaded mod_perl:



  if (Apache2::Module::loaded(mod_perl.so)) {
      [...]
  }



To test if Apache2::Status is loaded:



  if (Apache2::Module::loaded(Apache2::Status)) {
      [...]
  }



CWmodule_index

Get the index to this modules structures in config vectors.



  $index = $module->module_index();



obj: $module ( Apache2::Module object )
ret: $index ( integer )
since: 2.0.00

CWname

Get the name of the module’s .c file



  $name = $module->name();



obj: $module ( Apache2::Module object )
ret: $name ( string )
since: 2.0.00
For example a mod_perl module, will return: mod_perl.c.

CWnext

Get the next module in the list, undef if this is the last module in the list.



  $next_module = $module->next();



obj: $module ( Apache2::Module object )
ret: $next_module ( Apache2::Module object )
since: 2.0.00

CWremove_loaded_module

Remove a module from the list of loaded modules permanently.



  $module->remove_loaded_module();



obj: $module ( Apache2::Module object )
ret: no return value
since: 2.0.00

CWtop_module

Returns the first module in the module list. Usefull to start a module iteration.



  $module = Apache2::Module::top_module();



ret: $module ( Apache2::Module object )
since: 2.0.00

See Also

mod_perl 2.0 documentation.

Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.

Authors

The mod_perl development team and numerous contributors.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 WORK::MOD_PERL-2.0.9::DOCS::API::APACHE2::MODULE (3) 2015-06-18

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.