From 9e2cdeff435ffa431cbb9de1a600fc8a2a572dd6 Mon Sep 17 00:00:00 2001 From: Lucien Gentis Date: Sat, 13 Apr 2013 14:05:59 +0000 Subject: [PATCH] Updstes. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1467636 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_lua.xml.fr | 480 ++++++++++++++++++------------- docs/manual/mod/mod_proxy.xml.fr | 11 +- docs/manual/upgrading.xml.fr | 7 +- 3 files changed, 294 insertions(+), 204 deletions(-) diff --git a/docs/manual/mod/mod_lua.xml.fr b/docs/manual/mod/mod_lua.xml.fr index a61327aaad..657086a359 100644 --- a/docs/manual/mod/mod_lua.xml.fr +++ b/docs/manual/mod/mod_lua.xml.fr @@ -1,7 +1,7 @@ - + @@ -666,235 +666,311 @@ end
Méthodes de l'objet request_rec -

L'objet request_rec possède (au minimum) les méthodes - suivantes :

- - - r:flush() -- vide le tampon de sortie - - - - r:addoutputfilter(name|function) -- ajoute un filtre en sortie - - - - r:sendfile(filename) -- envoie un fichier entier au client en - utilisant sendfile s'il est supporté par la plateforme - - - - r:parseargs() -- renvoie une table Lua contenant la chaîne - d'arguments de la requête - - - - - r:parsebody()([sizeLimit]) -- interprète le corps de la requête - en tant que POST et renvoie une table lua. Un nombre optionnel - peut être fourni pour spécifier le nombre maximal d'octets à - interpréter. La valeur par défaut est 8192. - - - - - 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: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_decode(string) -- Décode une chaîne codée en Base64. - - - - r:md5(string) -- Calcule et renvoie le condensé MD5 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). - - - - r:escape(string) -- Echappe une chaîne de type URL. - - - - r:unescape(string) -- Déséchappe une chaîne de type URL. - - - - r:banner() -- Renvoie la bannière du serveur courant. - - - - r:port() -- Renvoie le port du serveur courant utilisé pour la - requête. - - - - r:mpm_query(number) -- Interroge le serveur à propos de son - module MPM via la requête ap_mpm_query. - - - - r:expr(string) -- Evalue une chaîne de type expr. - - - - r:scoreboard_process(a) -- Interroge le serveur à propos du - processus à la position a. - - - - r:scoreboard_worker(a, b) -- Interroge le serveur à propos du - thread b, dans le processus a. - - - - r:started() -- Renvoie l'heure du dernier (re)démarrage du - serveur. - - - - r:clock() -- Renvoie l'heure courante avec une précision d'une - microseconde. - - - +

L'objet request_rec possède (au minimum) les méthodes suivantes :

+ + +r:flush() -- vide le tampon de sortie + +while nous_avons_des_données_à_envoyer do + r:puts("Bla bla bla\n") -- envoi des données à envoyer vers le tampon + r:flush() -- vidage du tampon (envoi au client) + r:sleep(0.5) -- mise en attente et bouclage ++end + + + +r:addoutputfilter(name|function) -- ajoute un filtre en sortie + +r:addoutputfilter("fooFilter") -- insère le filtre fooFilter dans le flux de sortie + + + +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") +end + + + +r:parseargs() -- renvoie une table Lua contenant la chaîne +d'arguments de la requête + +local GET = 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 une table lua. 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 = r:parsebody(1024*1024) ++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: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. + +local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q= + + + +r:base64_decode(string) -- Décode une chaîne codée en Base64. + +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). + +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). + +local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19 + + + +r:escape(string) -- Echappe une chaîne de type URL. + +local url = "http://foo.bar/1 2 3 & 4 + 5" +local escaped = r:escape(url) -- returns 'http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5' + + + +r:unescape(string) -- Déséchappe une chaîne de type URL. + +local url = "http%3a%2f%2ffoo.bar%2f1+2+3+%26+4+%2b+5" +local unescaped = r:escape(url) -- returns 'http://foo.bar/1 2 3 & 4 + 5' + + + +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 + r:puts("Ce serveur utilise le MPM Event") +end + + + +r:expr(string) -- Evalue une chaîne de type expr. + +if r:expr("%{HTTP_HOST} =~ /^www/") then + r:puts("Ce nom d'hôte commence par www") +end + + + +r:scoreboard_process(a) -- Interroge le serveur à propos du +processus à la position a. + +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 processus a. + +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:started() -- Renvoie l'heure du dernier (re)démarrage du +serveur. + + + +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:add_input_filter(filter_name) -- Ajoute le filtre en entrée - 'filter_name'. - +local input = r:requestbody() +r:puts("Vous m'avez envoyé le corps de requête suivant :\n") +r:puts(input) +
- - r:module_info(module_name) -- Interroge le serveur à propos d'un - module. - + +r:add_input_filter(filter_name) -- Ajoute le filtre en entrée +'filter_name'. + - - r:loaded_modules() -- Renvoie une liste des modules chargés par - httpd. - + +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 + end +end + + + +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") +end + - + r: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. - - - - 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:add_version_component(component_string) -- Ajoute un élément à - 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. - - - - r:os_escape_path(file_path) -- Convertit un chemin du système de - fichiers en URL indépendamment du système d'exploitation. - - - - r:escape_logitem(string) -- Echappe une chaîne pour - journalisation. - - - + + + +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:add_version_component(component_string) -- Ajoute un élément à +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. + + + +r:os_escape_path(file_path) -- Convertit un chemin du système de +fichiers en URL indépendamment du système d'exploitation. + + + +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' ? - - - 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. - +local match = r:strcmp_match("foobar.com", "foo*.com") +if match then + r:puts("foobar.com matches foo*.com") +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: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. - + - + 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. - - - - r:exists_config_define(string) -- Vérifie si une définition de - configuration existe. - - - - r:state_query(string) -- Interroge le serveur à propos de son - état. - - - - r:stat(filename) -- Exécute stat() sur un fichier, et renvoie - une table contenant des informations à propos de ce fichier. - - - - r:regex(string, pattern) -- Exécute une recherche à base - d'expression rationnelle sur une chaîne, et renvoie les - éventuelles correspondances trouvées. - - - + +r:custom_response(404, "Baleted!") + + + +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 + été défini dans la configuration") +end + + + +r:state_query(string) -- Interroge le serveur à propos de son +état. + + + +r:stat(filename) -- 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 + r:puts("Ce fichier existe et a été modifié pour la dernière fois à : " .. info.modified) +end + + + +r:regex(string, pattern) -- 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 + r:puts("L'expression rationnelle correspond et le dernier mot + capturé ($2) est : " .. matches[2]) +end + + + r:sleep(secondes) -- Interrompt l'exécution du script pendant le nombre de secondes spécifié. -- La valeur peut être spécifiée sous la forme d'un nombre décimal comme 1.25 pour plus de précision. - + - - r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une + +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. - +
@@ -1046,7 +1122,7 @@ local result, errmsg = database:select(r, "SELECT * FROM `people` WHERE 1") -- Création et exécution d'une requête préparée : local statement, errmsg = database:prepare(r, "DELETE FROM `tbl` WHERE `age` > %u") if not errmsg then - local result, errmsg = statement:query(20) -- exécute la requête pour age > 20 + local result, errmsg = statement:query(20) -- exécute la requête pour age > 20 end -- Extrait une requête préparée depuis une directive DBDPrepareSQL : diff --git a/docs/manual/mod/mod_proxy.xml.fr b/docs/manual/mod/mod_proxy.xml.fr index 699849bffc..9c04d4ec27 100644 --- a/docs/manual/mod/mod_proxy.xml.fr +++ b/docs/manual/mod/mod_proxy.xml.fr @@ -1,7 +1,7 @@ - + @@ -1300,6 +1300,15 @@ ProxyPass /mirror/foo http://backend.example.com le cas des autres erreurs de worker. + failontimeout + Off + Si ce paramètre est défini à "On", un délai d'attente + dépassé en entrée/sortie après envoi d'une requête au serveur + d'arrière-plan va mettre le processus en état d'erreur. La + sortie de cet état d'erreur se passe de la même façon que pour + les autres erreurs. + + nonce <auto> Le nombre à usage unique de protection utilisé dans la page diff --git a/docs/manual/upgrading.xml.fr b/docs/manual/upgrading.xml.fr index d39cc4a252..50f88018bd 100644 --- a/docs/manual/upgrading.xml.fr +++ b/docs/manual/upgrading.xml.fr @@ -3,7 +3,7 @@ - +