diff --git a/docs/manual/mod/mod_lua.html.fr b/docs/manual/mod/mod_lua.html.fr index 37dbad88b8..ef81ef89ff 100644 --- a/docs/manual/mod/mod_lua.html.fr +++ b/docs/manual/mod/mod_lua.html.fr @@ -345,8 +345,7 @@ que vous pouvez
translate_name.luar:addoutputfilter("fooFilter") -- insère le filtre fooFilter dans le flux de sortie -
--- exemple d'accroche qui réécrit un URI en chemin du système de --- fichiers. +-- exemple d'accroche qui réécrit un URI en chemin du système de fichiers. require 'apache2' @@ -725,9 +724,8 @@ end
r:sendfile(filename) -- envoie un fichier entier au client en utilisant - -- sendfile s'il est supporté par la - -- plateforme : +r:sendfile(filename) -- envoie un fichier entier au client en utilisant sendfile s'il est + -- supporté par la plateforme : if use_sendfile_thing then r:sendfile("/var/www/large_file.img") @@ -735,18 +733,22 @@ endr:parseargs() -- renvoie deux tables : une table standard de couples -clé/valeur pour les données GET simples, et une autre pour les données -multivaluées (par exemple foo=1&foo=2&foo=3) : + -- clé/valeur pour les données GET simples, + -- et une autre pour les données + -- multivaluées (par exemple foo=1&foo=2&foo=3) : local GET, GETMULTI = r:parseargs() r:puts("Votre nom est : " .. GET['name'] or "Unknown")-r:parsebody()([sizeLimit]) -- interprète le corps de la requête -en tant que POST et renvoie deux tables lua, comme r:parseargs(). Un nombre optionnel -peut être fourni pour spécifier le nombre maximal d'octets à -interpréter. La valeur par défaut est 8192. +r:parsebody()([sizeLimit]) -- interprète le corps de la + -- requête en tant que POST et renvoie + -- deux tables lua, comme r:parseargs(). Un + -- nombre optionnel peut être fourni + -- pour spécifier le nombre maximal + -- d'octets à interpréter. La + -- valeur par défaut est 8192. local POST, POSTMULTI = r:parsebody(1024*1024) r:puts("Votre nom est : " .. POST['name'] or "Unknown")@@ -756,16 +758,13 @@ r:puts("Votre nom est : " .. POST['name'] or "Unknown")r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la réponse-r:write("une simple chaîne") -- affichage dans le -corps de la réponse+r:write("une simple chaîne") -- affichage dans le corps de la réponse-r:escape_html("<html>test</html>") -- Echappe le -code HTML et renvoie le résultat+r:escape_html("<html>test</html>") -- Echappe le code HTML et renvoie le résultat-r:base64_encode(string) -- Encode une chaîne à l'aide du -standard de codage Base64. +-r:base64_encode(string) -- Encode une chaîne à l'aide du standard de codage Base64. local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q=@@ -775,14 +774,12 @@ local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q local decoded = r:base64_decode("VGhpcyBpcyBhIHRlc3Q=") -- returns 'This is a test'r:md5(string) -- Calcule et renvoie le condensé MD5 d'une chaîne -en mode binaire (binary safe). +r:md5(string) -- Calcule et renvoie le condensé MD5 d'une chaîne en mode binaire (binary safe). local hash = r:md5("This is a test") -- returns ce114e4501d2f4e2dcea3e17b546f339-r:sha1(string) -- Calcule et renvoie le condensé SHA1 d'une chaîne -en mode binaire (binary safe). +-r:sha1(string) -- Calcule et renvoie le condensé SHA1 d'une chaîne en mode binaire (binary safe). local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19@@ -804,8 +801,7 @@ local unescaped = r:unescape(url) -- renvoie 'http://foo.bar/1 2 3 & 4 + 5'< local url = r:construct_url(r.uri)r.mpm_query(number) -- Interroge le serveur à propos de son -module MPM via la requête ap_mpm_query. +-r.mpm_query(number) -- Interroge le serveur à propos de son module MPM via la requête ap_mpm_query. local mpm = r.mpm_query(14) if mpm == 1 then @@ -821,50 +817,49 @@ endr:scoreboard_process(a) -- Interroge le serveur à propos du -processus à la positiona. + -- processus à la positiona. local process = r:scoreboard_process(1) r:puts("Le serveur 1 a comme PID " .. process.pid)r:scoreboard_worker(a, b) -- Interroge le serveur à propos du -thread-b, dans le processusa. + -- threadb, dans le processusa. local thread = r:scoreboard_worker(1, 1) r:puts("L'ID du thread 1 du serveur 1 est " .. thread.tid .. " et son état est " .. thread.status)r:clock() -- Renvoie l'heure courante avec une précision d'une -microseconde.+r:clock() -- Renvoie l'heure courante avec une précision d'une microseconde.-r:requestbody(filename) -- Lit et renvoie le corps d'une requête. Si -'filename' est spécifié, le corps de requête n'est pas renvoyé, mais -sauvegardé dans le fichier correspondant. +r:requestbody(filename) -- Lit et renvoie le corps d'une requête. + -- Si 'filename' est spécifié, le + -- corps de requête n'est pas + -- renvoyé, mais sauvegardé dans + -- le fichier correspondant. local input = r:requestbody() r:puts("Vous m'avez envoyé le corps de requête suivant :\n") r:puts(input)-r:add_input_filter(filter_name) -- Ajoute le filtre en entrée -'filter_name'.+r:add_input_filter(filter_name) -- Ajoute le filtre en entrée 'filter_name'.-r:module_info(module_name) -- Interroge le serveur à propos d'un -module. +r:module_info(module_name) -- Interroge le serveur à propos d'un module. local mod = r.module_info("mod_lua.c") if mod then for k, v in pairs(mod.commands) do - r:puts( ("%s: %s\n"):format(k,v)) -- affiche toutes les directives implémentées par ce module + r:puts( ("%s: %s\n"):format(k,v)) -- affiche toutes les directives + -- implémentées par ce module. end end-r:loaded_modules() -- Renvoie une liste des modules chargés par -httpd. +-r:loaded_modules() -- Renvoie une liste des modules chargés par httpd. for k, module in pairs(r:loaded_modules()) do r:puts("J'ai chargé le module " .. module .. "\n") @@ -872,38 +867,37 @@ endr:runtime_dir_relative(filename) -- Génère le nom d'un fichier run-time -(par exemple la mémoire partagée "file") relativement au répertoire de -run-time.+ -- (par exemple la mémoire partagée + -- "file") relativement au répertoire de run-time.r:server_info() -- Renvoie une table contenant des informations -à propos du serveur, comme le nom de l'exécutable httpd, le -module mpm utilisé, etc...+r:server_info() -- Renvoie une table contenant des informations à + -- propos du serveur, comme le nom de + -- l'exécutable httpd, le module mpm utilisé, etc...-r:set_document_root(file_path) -- Définit la racine des -documents pour la requête à file_path.+r:set_document_root(file_path) -- Définit la racine des documents + -- pour la requête à file_path.r:add_version_component(component_string) -- Ajoute un élément à -la bannière du serveur.+ -- la bannière du serveur.r:set_context_info(prefix, docroot) -- Définit le préfixe et la -racine des documents du contexte pour une requête.+ -- racine des documents du contexte pour une requête.r:os_escape_path(file_path) -- Convertit un chemin du système de -fichiers en URL indépendamment du système d'exploitation.+ -- fichiers en URL indépendamment du système d'exploitation.r:escape_logitem(string) -- Echappe une chaîne pour -journalisation.+r:escape_logitem(string) -- Echappe une chaîne pour journalisation.r.strcmp_match(string, pattern) -- Vérifie si 'string' correspond à -'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que -'www.example.com' correspond à '*.example.com' ? + -- 'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que + -- 'www.example.com' correspond à '*.example.com' ? local match = r.strcmp_match("foobar.com", "foo*.com") if match then @@ -911,29 +905,26 @@ if match then end-r:set_keepalive() -- Définit l'état de persistance d'une -requête. Renvoie true dans la mesure du possible, false dans le -cas contraire.+r:set_keepalive() -- Définit l'état de persistance d'une requête. + -- Renvoie true dans la mesure du possible, false dans le cas contraire.-r:make_etag() -- Génère et renvoie le etag pour la requête -courante.+r:make_etag() -- Génère et renvoie le etag pour la requête courante.r:send_interim_response(clear) -- Renvoie une réponse d'intérim (1xx) au -client. Si 'clear' est vrai, les en-têtes disponibles seront envoyés et -effacés.+ -- client. Si 'clear' est vrai, les en-têtes disponibles + -- seront envoyés et effacés.r:custom_response(status_code, string) -- Génère et définit une réponse -personnalisée pour un code d'état particulier. Le fonctionnement est -très proche de celui de la directive ErrorDocument. + -- personnalisée pour un code d'état particulier. + -- Le fonctionnement est très proche de celui de la directive ErrorDocument. r:custom_response(404, "Baleted!")-r.exists_config_define(string) -- Vérifie si une définition de -configuration existe. +r.exists_config_define(string) -- Vérifie si une définition de configuration existe. if r.exists_config_define("FOO") then r:puts("httpd a probablement été lancé avec l'option -DFOO, ou FOO a @@ -941,12 +932,11 @@ if r.exists_config_define("FOO") then end-r:state_query(string) -- Interroge le serveur à propos de son -état.+r:state_query(string) -- Interroge le serveur à propos de son état.-r:stat(filename [,wanted]) -- Exécute stat() sur un fichier, et renvoie -une table contenant des informations à propos de ce fichier. +r:stat(filename [,wanted]) -- Exécute stat() sur un fichier, et renvoie une table contenant + -- des informations à propos de ce fichier. local info = r:stat("/var/www/foo.txt") if info then @@ -954,9 +944,8 @@ if info then end-r:regex(string, pattern [,flags]) -- Exécute une recherche à base -d'expression rationnelle sur une chaîne, et renvoie les -éventuelles correspondances trouvées. +r:regex(string, pattern [,flags]) -- Exécute une recherche à base d'expression rationnelle + -- sur une chaîne, et renvoie les éventuelles correspondances trouvées. local matches = r:regex("foo bar baz", [[foo (\w+) (\S*)]]) if matches then @@ -975,9 +964,9 @@ local matches = r:regex("FOO bar BAz", [[(foo) bar]], 1)r.usleep(microsecondes) -- Interrompt l'exécution du script pendant le nombre de microsecondes spécifié.-r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une -base de données et renvoie une classe database. Voir 'Connectivité aux bases de données' pour plus de -détails.+r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une base de données et renvoie une classe database. + -- Voir 'Connectivité aux bases de données' + -- pour plus de détails.r:ivm_set("key", value) -- Défini une variable Inter-VM avec une valeur spécifique. @@ -1014,13 +1003,15 @@ endr:mkdir(dir [,mode]) -- Crée un répertoire et définit son mode via le paramètre optionnel mode.-r:mkrdir(dir [,mode]) -- Crée des répertoires de manière récursive et définit leur mode via le paramètre optionnel mode.+r:mkrdir(dir [,mode]) -- Crée des répertoires de manière récursive et définit + -- leur mode via le paramètre optionnel mode.r:rmdir(dir) -- Supprime un répertoire.-r:touch(file [,mtime]) -- Définit la date de modification d'un fichier à la date courante ou à la valeur optionnelle mtime en msec.+r:touch(file [,mtime]) -- Définit la date de modification d'un fichier à la date courante ou à + -- la valeur optionnelle mtime en msec.r:get_direntries(dir) -- Renvoie une table contenant toutes les entrées de répertoires. @@ -1574,7 +1565,7 @@ function logger(r) f:close() end return apache2.DONE -- On dit à httpd de ne rien enregistrer - --dans le journal standard + --dans le journal standard else r.uri = r.uri:gsub("somesecretstuff", "") -- nettoie les données return apache2.OK -- et httpd doit alors les enregistrer. @@ -1616,19 +1607,19 @@ function read_file(filename) end function check_cache(r) - if r.filename:match("%.png$") then -- Only match PNG files - local file = cached_files[r.filename] -- Check cache entries + if r.filename:match("%.png$") then -- Ne concerne que les fichiers PNG + local file = cached_files[r.filename] -- Vérifie les entrées du cache if not file then - file = read_file(r.filename) -- Read file into cache + file = read_file(r.filename) -- Lit le fichier vers le cache end - if file then -- If file exists, write it out + if file then -- Si le fichier existe, on l'envoie r.status = 200 r:write(file) - r:info(("Sent %s to client from cache"):format(r.filename)) - return apache2.DONE -- skip default handler for PNG files + r:info(("%s a été envoyé au client depuis le cache"):format(r.filename)) + return apache2.DONE -- cout-circuite le gestionnaire par défaut des fichiers PNG end end - return apache2.DECLINED -- If we had nothing to do, let others serve this. + return apache2.DECLINED -- Si nous n'avons rien eu à faire, nous laissons les autres s'en charger end@@ -1754,11 +1745,11 @@ sont transmis au script Lua : majuscules. ]]-- function input_filter(r) - print("luaInputFilter called") -- debug print - coroutine.yield() -- Yield and wait for buckets - while bucket do -- For each bucket, do... + print("luaInputFilter called") -- pour débogage + coroutine.yield() -- attend des paquets de données + while bucket do -- Pour chaque paquet, faire ... local output = string.upper(bucket) -- Convertit toutes les données POST en majuscules - coroutine.yield(output) -- Envoie les données traitées à la chaîne + coroutine.yield(output) -- Envoie les données traitées à la chaîne de filtrage end -- plus aucune donnée à traiter. coroutine.yield("&filterSignature=1234") -- Ajoute une signature à la fin @@ -1773,7 +1764,7 @@ consid return -- Empêche tout simplement le filtrage et transmet le contenu original end coroutine.yield() -- attend des paquets de données - ... -- insert les filtres ici + ... -- insert les filtres ici end@@ -1846,7 +1837,8 @@ sont transmis au script Lua : sortie ]]-- function output_filter(r) - coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des données au début de la sortie, puis attend des paquets de données à traiter + coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des données au début de la sortie, + -- puis attend des paquets de données à traiter while bucket do -- Pour chaque paquet, faire ... local output = r:escape_html(bucket) -- Echappe les données en sortie coroutine.yield(output) -- Envoie les données traitées à la chaîne @@ -1863,7 +1855,7 @@ consid return -- Empêche tout simplement le filtrage et transmet le contenu original end coroutine.yield() -- attend des paquets de données - ... -- insert les filtres ici + ... -- insert les filtres ici end
Les filtres Lua avec
@@ -1960,8 +1952,7 @@ relatifs dans les directives de mod_luamod_filterLuaScope Directive
-
+ Description: Une valeur parmi once, request, conn, thread -- la valeur -par défaut est once Description: Une valeur parmi once, request, conn, thread -- la valeur par défaut est once Syntaxe: LuaScope once|request|conn|thread|server [min] [max]Défaut: LuaScope onceContexte: configuration du serveur, serveur virtuel, répertoire, .htaccess