Embedthis Appweb 3.4.0
Home > Users Guide > Configuration Directives > Module Directives

Quick Nav

See Also

Module Directives

LoadModule

Description Load the static or dynamic Appweb module
Synopsis LoadModule moduleName modulePath
Context Default server
Example LoadModule openSsl /etc/appweb/modules/libopenSsl.so
Notes

The LoadModule directive causes the specified module to be loaded and its functionality made available to the default server and all virtual hosts. Appweb supports both static and dynamically loaded modules. By supporting dynamic loadable modules, the memory footprint of Appweb is minimized yet Appweb can be extended to meet almost any need.

Modules may be dynamically loaded shared objects (DLLs) or they may be statically linked objects. If a module is statically linked into Appweb, the LoadModule directive will start the module and activate it for processing. If a module is not statically linked into Appweb and it has been made into a dynamically loadable module, then the LoadModule directive will locate and dynamically load the shared object, link it into Appweb and then activate it for processing.

The modulePath is the filename for the module without the extension. Appweb omits the extension so that loading modules will work regardless of the platform specific module filename extension. The modulePath may be an absolute path or it may be relative to the Server Root. If the modulePath if a pure filename without any directory portion, the directory paths specified by the LoadModulePath are used to search for the module.

The order of modules in the Appweb configuration file is important. If module "A" uses the services of module "B", then module "B" must be loaded prior to loading module "A".

Types of Modules

There are many kinds of modules:

  • Handlers
  • Filters
  • Connectors
  • Pure modules

Handlers are modules that respond to HTTP requests and serve the response content themselves. Pure modules are units of functionality that augment Appweb without directly handling HTTP responses themselves.

Appweb supplied modules

Authorization Module auth mod_auth
Common Gateway Interface Handler cgi mod_cgi
Transfer Chunk Filter chunk mod_chunk
Embedded Gateway Interface Handler egi mod_egi
Ejscript Web Framework and Handler ejs mod_ejs
File Handler file mod_file
PHP Handler php mod_php
Ranged Request Filter range mod_range
SSL Module ssl mod_ssl
Upload Handler upload mod_upload

NOTE: Appweb modules are not binary or source compatible with Apache modules.

LoadModulePath

Description Specify a list of directory paths to search when loading Modules
Synopsis LoadModule path ...
Context Default server
Example LoadModulePath "../bin:/home/josh/test:/My Modules"
Notes

The LoadModulePath directive causes subsequent LoadModule directives to search for their modules in the paths nominate by the LoadModulePath directive, if those paths are do not contain directory paths. On Unix like systems, the path separator is ":". On windows, the path separator is ";"

© Embedthis Software LLC, 2003-2012. All rights reserved. Embedthis, Ejscript and Appweb are trademarks of Embedthis Software LLC.