int ap_hook_handler(int (*TraiterRequete)(request_rec *RequeteApache), const char *Inutile1, const char **Inutile2, int Priorite);
Le paramètre TraiterRequete est la fonction de rappel. Son paramètre RequeteApache est le descripteur de la requête Apache. Son code retour est soit :
Le paramètre Priorite est le code de priorité d'usage de cette fonction de rappel par Apache. Les valeurs possibles sont :
Les principaux champs RequeteApache sont les suivants :
#include <httpd.h>
#include <http_config.h>
#include <http_log.h>
#include <http_protocol.h>
#include <http_request.h>
#include <http_core.h>
#include <ap_compat.h>
...
static void TraiterDemarrer(apr_pool_t *PouleFils, server_rec *ServeurApache)
/***************************************************************************/
{
...
}
static int TraiterConnecter(request_rec *RequeteApache)
/*****************************************************/
{
...
return(OK);
}
static int TraiterRequete(request_rec *RequeteApache)
/***************************************************/
{
...
return(OK);
}
static void EnregistrerRappels(apr_pool_t *Poule)
/***********************************************/
{
...
if (ap_hook_child_init(TraiterDemarrer,NULL,NULL,APR_HOOK_MIDDLE)!=APR_SUCCESS)
{
...
}
if (ap_hook_check_user_id(TraiterConnecter,NULL,NULL,APR_HOOK_MIDDLE)!=APR_SUCCESS)
{
...
}
if (ap_hook_handler(TraiterRequete,NULL,NULL,APR_HOOK_MIDDLE)!=APR_SUCCESS)
{
...
}
...
}
#if defined(__cplusplus)
extern "C"
{
#endif
module AP_MODULE_DECLARE_DATA MonModule={STANDARD20_MODULE_STUFF,NULL,NULL,NULL,NULL,NULL,EnregistrerRappels};
#if defined(__cplusplus)
}
#endif