2007-05-05 19:05:01 +00:00
|
|
|
library mod_wst;
|
|
|
|
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
|
|
|
|
{$IFDEF WIN32}
|
|
|
|
{$DEFINE WINDOWS}
|
|
|
|
{$ENDIF}
|
|
|
|
|
|
|
|
uses
|
|
|
|
SysUtils,
|
2010-01-29 15:30:24 +00:00
|
|
|
httpd, apr, apriconv, aprutil, wst_apache_binding,
|
|
|
|
user_service_intf, user_service_intf_binder, user_service_intf_imp;
|
2007-05-05 19:05:01 +00:00
|
|
|
|
|
|
|
var
|
|
|
|
wst_module: module; {$ifdef Unix} public name 'wst_module'; {$endif}
|
|
|
|
default_module_ptr: Pmodule;
|
|
|
|
|
|
|
|
const
|
|
|
|
MODULE_NAME = 'mod_wst.so';
|
|
|
|
|
|
|
|
{$ifdef WINDOWS}
|
|
|
|
exports
|
|
|
|
wst_module name 'wst_module';
|
|
|
|
{$endif}
|
|
|
|
|
|
|
|
|
2007-06-28 23:33:38 +00:00
|
|
|
function DefaultHandler(r: Prequest_rec): Integer;cdecl;
|
2007-05-05 19:05:01 +00:00
|
|
|
begin
|
|
|
|
if not SameText(r^.handler, 'wst-handler') then
|
|
|
|
begin
|
|
|
|
Result := DECLINED;
|
|
|
|
Exit;
|
|
|
|
end;
|
|
|
|
|
|
|
|
Result := wst_RequestHandler(r);
|
|
|
|
end;
|
|
|
|
|
2007-06-28 23:33:38 +00:00
|
|
|
procedure RegisterHooks(p: Papr_pool_t);cdecl;
|
2007-05-05 19:05:01 +00:00
|
|
|
begin
|
|
|
|
ap_hook_handler(@DefaultHandler, nil, nil, APR_HOOK_MIDDLE);
|
|
|
|
end;
|
|
|
|
|
|
|
|
begin
|
|
|
|
default_module_ptr := @wst_module;
|
2007-10-22 12:44:00 +00:00
|
|
|
wst_apache_binding.wst_module_ptr := default_module_ptr;
|
2007-05-05 19:05:01 +00:00
|
|
|
FillChar(default_module_ptr^, SizeOf(default_module_ptr^), 0);
|
|
|
|
STANDARD20_MODULE_STUFF(default_module_ptr^);
|
|
|
|
with wst_module do
|
|
|
|
begin
|
|
|
|
name := MODULE_NAME;
|
|
|
|
magic := MODULE_MAGIC_COOKIE;
|
|
|
|
register_hooks := @RegisterHooks;
|
2010-01-29 15:55:18 +00:00
|
|
|
{$IF DECLARED(wst_create_dir_config)}
|
2007-10-22 12:44:00 +00:00
|
|
|
create_dir_config := @wst_create_dir_config;
|
2010-01-29 15:55:18 +00:00
|
|
|
{$IFEND}
|
|
|
|
{$IF DECLARED(WstCommandStructArray)}
|
2007-10-22 12:44:00 +00:00
|
|
|
cmds := WstCommandStructArray;
|
2010-01-29 15:55:18 +00:00
|
|
|
{$IFEND}
|
2007-05-05 19:05:01 +00:00
|
|
|
end;
|
2010-01-29 15:55:18 +00:00
|
|
|
{$IF DECLARED(WstCommandStructArray)}
|
2007-10-22 12:44:00 +00:00
|
|
|
WstCommandStructArray[0].cmd_data := @WstConfigData^.BasePath;
|
|
|
|
FillChar(WstCommandStructArray[1],SizeOf(command_rec),#0);
|
2010-01-29 15:55:18 +00:00
|
|
|
{$IFEND}
|
|
|
|
|
2010-01-29 15:30:24 +00:00
|
|
|
RegisterUserServiceImplementationFactory();
|
|
|
|
Server_service_RegisterUserServiceService();
|
2007-05-05 19:05:01 +00:00
|
|
|
end.
|