mirror of
https://github.com/apache/httpd.git
synced 2026-01-06 09:01:14 +03:00
HTML build.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1595621 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -345,8 +345,7 @@ que vous pouvez
|
||||
|
||||
<pre class="prettyprint lang-lua">
|
||||
<strong>translate_name.lua</strong><br />
|
||||
-- exemple d'accroche qui r<><72>crit un URI en chemin du syst<73>me de
|
||||
-- fichiers.
|
||||
-- exemple d'accroche qui r<><72>crit un URI en chemin du syst<73>me de fichiers.
|
||||
|
||||
require 'apache2'
|
||||
|
||||
@@ -725,9 +724,8 @@ end</pre>
|
||||
r:addoutputfilter("fooFilter") -- ins<6E>re le filtre fooFilter dans le flux de sortie</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:sendfile(filename) -- envoie un fichier entier au client en utilisant
|
||||
-- sendfile s'il est support<72> par la
|
||||
-- plateforme :
|
||||
<pre class="prettyprint lang-lua">r:sendfile(filename) -- envoie un fichier entier au client en utilisant sendfile s'il est
|
||||
-- support<72> par la plateforme :
|
||||
|
||||
if use_sendfile_thing then
|
||||
r:sendfile("/var/www/large_file.img")
|
||||
@@ -735,18 +733,22 @@ end</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:parseargs() -- renvoie deux tables : une table standard de couples
|
||||
cl<EFBFBD>/valeur pour les donn<6E>es GET simples, et une autre pour les donn<6E>es
|
||||
multivalu<EFBFBD>es (par exemple foo=1&foo=2&foo=3) :
|
||||
-- cl<EFBFBD>/valeur pour les donn<6E>es GET simples,
|
||||
-- et une autre pour les donn<6E>es
|
||||
-- multivalu<6C>es (par exemple foo=1&foo=2&foo=3) :
|
||||
|
||||
local GET, GETMULTI = r:parseargs()
|
||||
r:puts("Votre nom est : " .. GET['name'] or "Unknown")</pre>
|
||||
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:parsebody()([sizeLimit]) -- interpr<70>te le corps de la requ<71>te
|
||||
en tant que POST et renvoie deux tables lua, comme r:parseargs(). Un nombre optionnel
|
||||
peut <20>tre fourni pour sp<73>cifier le nombre maximal d'octets <20>
|
||||
interpr<EFBFBD>ter. La valeur par d<>faut est 8192.
|
||||
<pre class="prettyprint lang-lua">r:parsebody()([sizeLimit]) -- interpr<70>te le corps de la
|
||||
-- requ<71>te en tant que POST et renvoie
|
||||
-- deux tables lua, comme r:parseargs(). Un
|
||||
-- nombre optionnel peut <20>tre fourni
|
||||
-- pour sp<73>cifier le nombre maximal
|
||||
-- d'octets <20> interpr<70>ter. La
|
||||
-- valeur par d<>faut est 8192.
|
||||
|
||||
local POST, POSTMULTI = r:parsebody(1024*1024)
|
||||
r:puts("Votre nom est : " .. POST['name'] or "Unknown")</pre>
|
||||
@@ -756,16 +758,13 @@ r:puts("Votre nom est : " .. POST['name'] or "Unknown")</pre>
|
||||
<pre class="prettyprint lang-lua">r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la r<>ponse</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:write("une simple cha<68>ne") -- affichage dans le
|
||||
corps de la r<>ponse</pre>
|
||||
<pre class="prettyprint lang-lua">r:write("une simple cha<68>ne") -- affichage dans le corps de la r<>ponse</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:escape_html("<html>test</html>") -- Echappe le
|
||||
code HTML et renvoie le r<>sultat</pre>
|
||||
<pre class="prettyprint lang-lua">r:escape_html("<html>test</html>") -- Echappe le code HTML et renvoie le r<>sultat</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:base64_encode(string) -- Encode une cha<68>ne <20> l'aide du
|
||||
standard de codage Base64.
|
||||
<pre class="prettyprint lang-lua">r:base64_encode(string) -- Encode une cha<68>ne <20> l'aide du standard de codage Base64.
|
||||
|
||||
local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q=</pre>
|
||||
|
||||
@@ -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'</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:md5(string) -- Calcule et renvoie le condens<6E> MD5 d'une cha<68>ne
|
||||
en mode binaire (binary safe).
|
||||
<pre class="prettyprint lang-lua">r:md5(string) -- Calcule et renvoie le condens<6E> MD5 d'une cha<68>ne en mode binaire (binary safe).
|
||||
|
||||
local hash = r:md5("This is a test") -- returns ce114e4501d2f4e2dcea3e17b546f339</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:sha1(string) -- Calcule et renvoie le condens<6E> SHA1 d'une cha<68>ne
|
||||
en mode binaire (binary safe).
|
||||
<pre class="prettyprint lang-lua">r:sha1(string) -- Calcule et renvoie le condens<6E> SHA1 d'une cha<68>ne en mode binaire (binary safe).
|
||||
|
||||
local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19</pre>
|
||||
|
||||
@@ -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)</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r.mpm_query(number) -- Interroge le serveur <20> propos de son
|
||||
module MPM via la requ<71>te ap_mpm_query.
|
||||
<pre class="prettyprint lang-lua">r.mpm_query(number) -- Interroge le serveur <20> propos de son module MPM via la requ<71>te ap_mpm_query.
|
||||
|
||||
local mpm = r.mpm_query(14)
|
||||
if mpm == 1 then
|
||||
@@ -821,50 +817,49 @@ end</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:scoreboard_process(a) -- Interroge le serveur <20> propos du
|
||||
processus <20> la position <code>a</code>.
|
||||
-- processus <20> la position <code>a</code>.
|
||||
|
||||
local process = r:scoreboard_process(1)
|
||||
r:puts("Le serveur 1 a comme PID " .. process.pid)</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:scoreboard_worker(a, b) -- Interroge le serveur <20> propos du
|
||||
thread <code>b</code>, dans le processus <code>a</code>.
|
||||
-- thread <code>b</code>, dans le processus <code>a</code>.
|
||||
|
||||
local thread = r:scoreboard_worker(1, 1)
|
||||
r:puts("L'ID du thread 1 du serveur 1 est " .. thread.tid .. " et son
|
||||
<EFBFBD>tat est " .. thread.status)</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:clock() -- Renvoie l'heure courante avec une pr<70>cision d'une
|
||||
microseconde.</pre>
|
||||
<pre class="prettyprint lang-lua">r:clock() -- Renvoie l'heure courante avec une pr<70>cision d'une microseconde.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:requestbody(filename) -- Lit et renvoie le corps d'une requ<71>te. Si
|
||||
'filename' est sp<73>cifi<66>, le corps de requ<71>te n'est pas renvoy<6F>, mais
|
||||
sauvegard<EFBFBD> dans le fichier correspondant.
|
||||
<pre class="prettyprint lang-lua">r:requestbody(filename) -- Lit et renvoie le corps d'une requ<71>te.
|
||||
-- Si 'filename' est sp<73>cifi<66>, le
|
||||
-- corps de requ<71>te n'est pas
|
||||
-- renvoy<6F>, mais sauvegard<72> dans
|
||||
-- le fichier correspondant.
|
||||
|
||||
local input = r:requestbody()
|
||||
r:puts("Vous m'avez envoy<6F> le corps de requ<71>te suivant :\n")
|
||||
r:puts(input)</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:add_input_filter(filter_name) -- Ajoute le filtre en entr<74>e
|
||||
'filter_name'.</pre>
|
||||
<pre class="prettyprint lang-lua">r:add_input_filter(filter_name) -- Ajoute le filtre en entr<74>e 'filter_name'.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:module_info(module_name) -- Interroge le serveur <20> propos d'un
|
||||
module.
|
||||
<pre class="prettyprint lang-lua">r:module_info(module_name) -- Interroge le serveur <20> 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<70>ment<6E>es par ce module
|
||||
r:puts( ("%s: %s\n"):format(k,v)) -- affiche toutes les directives
|
||||
-- impl<70>ment<6E>es par ce module.
|
||||
end
|
||||
end</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:loaded_modules() -- Renvoie une liste des modules charg<72>s par
|
||||
httpd.
|
||||
<pre class="prettyprint lang-lua">r:loaded_modules() -- Renvoie une liste des modules charg<72>s par httpd.
|
||||
|
||||
for k, module in pairs(r:loaded_modules()) do
|
||||
r:puts("J'ai charg<72> le module " .. module .. "\n")
|
||||
@@ -872,38 +867,37 @@ end</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:runtime_dir_relative(filename) -- G<>n<EFBFBD>re le nom d'un fichier run-time
|
||||
(par exemple la m<>moire partag<61>e "file") relativement au r<>pertoire de
|
||||
run-time.</pre>
|
||||
-- (par exemple la m<>moire partag<61>e
|
||||
-- "file") relativement au r<>pertoire de run-time.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:server_info() -- Renvoie une table contenant des informations
|
||||
<EFBFBD> propos du serveur, comme le nom de l'ex<65>cutable httpd, le
|
||||
module mpm utilis<69>, etc...</pre>
|
||||
<pre class="prettyprint lang-lua">r:server_info() -- Renvoie une table contenant des informations <20>
|
||||
-- propos du serveur, comme le nom de
|
||||
-- l'ex<65>cutable httpd, le module mpm utilis<69>, etc...</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:set_document_root(file_path) -- D<>finit la racine des
|
||||
documents pour la requ<71>te <20> file_path.</pre>
|
||||
<pre class="prettyprint lang-lua">r:set_document_root(file_path) -- D<>finit la racine des documents
|
||||
-- pour la requ<71>te <20> file_path.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:add_version_component(component_string) -- Ajoute un <20>l<EFBFBD>ment <20>
|
||||
la banni<6E>re du serveur.</pre>
|
||||
-- la banni<6E>re du serveur.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:set_context_info(prefix, docroot) -- D<>finit le pr<70>fixe et la
|
||||
racine des documents du contexte pour une requ<71>te.</pre>
|
||||
-- racine des documents du contexte pour une requ<71>te.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:os_escape_path(file_path) -- Convertit un chemin du syst<73>me de
|
||||
fichiers en URL ind<6E>pendamment du syst<73>me d'exploitation.</pre>
|
||||
-- fichiers en URL ind<6E>pendamment du syst<73>me d'exploitation.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:escape_logitem(string) -- Echappe une cha<68>ne pour
|
||||
journalisation.</pre>
|
||||
<pre class="prettyprint lang-lua">r:escape_logitem(string) -- Echappe une cha<68>ne pour journalisation.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r.strcmp_match(string, pattern) -- V<>rifie si 'string' correspond <20>
|
||||
'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que
|
||||
'www.example.com' correspond <20> '*.example.com' ?
|
||||
-- 'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que
|
||||
-- 'www.example.com' correspond <20> '*.example.com' ?
|
||||
|
||||
local match = r.strcmp_match("foobar.com", "foo*.com")
|
||||
if match then
|
||||
@@ -911,29 +905,26 @@ if match then
|
||||
end</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:set_keepalive() -- D<>finit l'<27>tat de persistance d'une
|
||||
requ<EFBFBD>te. Renvoie true dans la mesure du possible, false dans le
|
||||
cas contraire.</pre>
|
||||
<pre class="prettyprint lang-lua">r:set_keepalive() -- D<>finit l'<27>tat de persistance d'une requ<71>te.
|
||||
-- Renvoie true dans la mesure du possible, false dans le cas contraire.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:make_etag() -- G<>n<EFBFBD>re et renvoie le etag pour la requ<71>te
|
||||
courante.</pre>
|
||||
<pre class="prettyprint lang-lua">r:make_etag() -- G<>n<EFBFBD>re et renvoie le etag pour la requ<71>te courante.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:send_interim_response(clear) -- Renvoie une r<>ponse d'int<6E>rim (1xx) au
|
||||
client. Si 'clear' est vrai, les en-t<>tes disponibles seront envoy<6F>s et
|
||||
effac<EFBFBD>s.</pre>
|
||||
-- client. Si 'clear' est vrai, les en-t<>tes disponibles
|
||||
-- seront envoy<6F>s et effac<EFBFBD>s.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:custom_response(status_code, string) -- G<>n<EFBFBD>re et d<>finit une r<>ponse
|
||||
personnalis<EFBFBD>e pour un code d'<27>tat particulier. Le fonctionnement est
|
||||
tr<EFBFBD>s proche de celui de la directive ErrorDocument.
|
||||
-- personnalis<EFBFBD>e pour un code d'<27>tat particulier.
|
||||
-- Le fonctionnement est tr<EFBFBD>s proche de celui de la directive ErrorDocument.
|
||||
|
||||
r:custom_response(404, "Baleted!")</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r.exists_config_define(string) -- V<>rifie si une d<>finition de
|
||||
configuration existe.
|
||||
<pre class="prettyprint lang-lua">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 <20>t<EFBFBD> lanc<6E> avec l'option -DFOO, ou FOO a
|
||||
@@ -941,12 +932,11 @@ if r.exists_config_define("FOO") then
|
||||
end</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:state_query(string) -- Interroge le serveur <20> propos de son
|
||||
<EFBFBD>tat.</pre>
|
||||
<pre class="prettyprint lang-lua">r:state_query(string) -- Interroge le serveur <20> propos de son <20>tat.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:stat(filename [,wanted]) -- Ex<45>cute stat() sur un fichier, et renvoie
|
||||
une table contenant des informations <20> propos de ce fichier.
|
||||
<pre class="prettyprint lang-lua">r:stat(filename [,wanted]) -- Ex<45>cute stat() sur un fichier, et renvoie une table contenant
|
||||
-- des informations <20> propos de ce fichier.
|
||||
|
||||
local info = r:stat("/var/www/foo.txt")
|
||||
if info then
|
||||
@@ -954,9 +944,8 @@ if info then
|
||||
end</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:regex(string, pattern [,flags]) -- Ex<45>cute une recherche <20> base
|
||||
d'expression rationnelle sur une cha<68>ne, et renvoie les
|
||||
<EFBFBD>ventuelles correspondances trouv<75>es.
|
||||
<pre class="prettyprint lang-lua">r:regex(string, pattern [,flags]) -- Ex<45>cute une recherche <20> base d'expression rationnelle
|
||||
-- sur une cha<68>ne, et renvoie les <20>ventuelles correspondances trouv<75>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)
|
||||
<pre class="prettyprint lang-lua">r.usleep(microsecondes) -- Interrompt l'ex<65>cution du script pendant le nombre de microsecondes sp<73>cifi<66>.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion <20> une
|
||||
base de donn<6E>es et renvoie une classe database. Voir '<a href="#databases">Connectivit<69> aux bases de donn<6E>es</a>' pour plus de
|
||||
d<EFBFBD>tails.</pre>
|
||||
<pre class="prettyprint lang-lua">r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion <20> une base de donn<6E>es et renvoie une classe database.
|
||||
-- Voir '<a href="#databases">Connectivit<69> aux bases de donn<6E>es</a>'
|
||||
-- pour plus de d<EFBFBD>tails.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:ivm_set("key", value) -- D<>fini une variable Inter-VM avec une valeur sp<73>cifique.
|
||||
@@ -1014,13 +1003,15 @@ end</pre>
|
||||
<pre class="prettyprint lang-lua">r:mkdir(dir [,mode]) -- Cr<43>e un r<>pertoire et d<>finit son mode via le param<61>tre optionnel mode.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:mkrdir(dir [,mode]) -- Cr<43>e des r<>pertoires de mani<6E>re r<>cursive et d<>finit leur mode via le param<61>tre optionnel mode.</pre>
|
||||
<pre class="prettyprint lang-lua">r:mkrdir(dir [,mode]) -- Cr<43>e des r<>pertoires de mani<6E>re r<>cursive et d<>finit
|
||||
-- leur mode via le param<61>tre optionnel mode.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:rmdir(dir) -- Supprime un r<>pertoire.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:touch(file [,mtime]) -- D<>finit la date de modification d'un fichier <20> la date courante ou <20> la valeur optionnelle mtime en msec.</pre>
|
||||
<pre class="prettyprint lang-lua">r:touch(file [,mtime]) -- D<>finit la date de modification d'un fichier <20> la date courante ou <20>
|
||||
-- la valeur optionnelle mtime en msec.</pre>
|
||||
|
||||
|
||||
<pre class="prettyprint lang-lua">r:get_direntries(dir) -- Renvoie une table contenant toutes les entr<74>es de r<>pertoires.
|
||||
@@ -1574,7 +1565,7 @@ function logger(r)
|
||||
f:close()
|
||||
end
|
||||
return apache2.DONE -- On dit <20> httpd de ne rien enregistrer
|
||||
--dans le journal standard
|
||||
--dans le journal standard
|
||||
else
|
||||
r.uri = r.uri:gsub("somesecretstuff", "") -- nettoie les donn<6E>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<EFBFBD>rifie les entr<EFBFBD>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 <20>t<EFBFBD> envoy<6F> au client depuis le cache"):format(r.filename))
|
||||
return apache2.DONE -- cout-circuite le gestionnaire par d<EFBFBD>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 <20> faire, nous laissons les autres s'en charger
|
||||
end</pre>
|
||||
|
||||
|
||||
@@ -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<6E>es
|
||||
while bucket do -- Pour chaque paquet, faire ...
|
||||
local output = string.upper(bucket) -- Convertit toutes les donn<6E>es POST en majuscules
|
||||
coroutine.yield(output) -- Envoie les donn<6E>es trait<69>es <20> la cha<68>ne
|
||||
coroutine.yield(output) -- Envoie les donn<6E>es trait<69>es <20> la cha<68>ne de filtrage
|
||||
end
|
||||
-- plus aucune donn<6E>e <20> traiter.
|
||||
coroutine.yield("&filterSignature=1234") -- Ajoute une signature <20> la fin
|
||||
@@ -1773,7 +1764,7 @@ consid
|
||||
return -- Emp<6D>che tout simplement le filtrage et transmet le contenu original
|
||||
end
|
||||
coroutine.yield() -- attend des paquets de donn<6E>es
|
||||
... -- insert les filtres ici
|
||||
... -- insert les filtres ici
|
||||
end</pre>
|
||||
|
||||
<p>
|
||||
@@ -1846,7 +1837,8 @@ sont transmis au script Lua :
|
||||
sortie
|
||||
]]--
|
||||
function output_filter(r)
|
||||
coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des donn<6E>es au d<>but de la sortie, puis attend des paquets de donn<6E>es <20> traiter
|
||||
coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des donn<6E>es au d<>but de la sortie,
|
||||
-- puis attend des paquets de donn<6E>es <20> traiter
|
||||
while bucket do -- Pour chaque paquet, faire ...
|
||||
local output = r:escape_html(bucket) -- Echappe les donn<6E>es en sortie
|
||||
coroutine.yield(output) -- Envoie les donn<6E>es trait<69>es <20> la cha<68>ne
|
||||
@@ -1863,7 +1855,7 @@ consid
|
||||
return -- Emp<6D>che tout simplement le filtrage et transmet le contenu original
|
||||
end
|
||||
coroutine.yield() -- attend des paquets de donn<6E>es
|
||||
... -- insert les filtres ici
|
||||
... -- insert les filtres ici
|
||||
end</pre>
|
||||
|
||||
<div class="note"><h3>Les filtres Lua avec <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></h3>
|
||||
@@ -1960,8 +1952,7 @@ relatifs dans les directives de mod_lua</td></tr>
|
||||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||||
<div class="directive-section"><h2><a name="LuaScope" id="LuaScope">LuaScope</a> <a name="luascope" id="luascope">Directive</a></h2>
|
||||
<table class="directive">
|
||||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Une valeur parmi once, request, conn, thread -- la valeur
|
||||
par d<>faut est once</td></tr>
|
||||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Une valeur parmi once, request, conn, thread -- la valeur par d<>faut est once</td></tr>
|
||||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LuaScope once|request|conn|thread|server [min] [max]</code></td></tr>
|
||||
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>LuaScope once</code></td></tr>
|
||||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r<>pertoire, .htaccess</td></tr>
|
||||
|
||||
Reference in New Issue
Block a user