1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>CGILua: geração de scripts para a Web usando Lua</title>
<link rel="stylesheet" href="http://www.keplerproject.org/doc.css" type="text/css"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<div id="container">
<div id="product">
<div id="product_logo"><a href="http://www.keplerproject.org"><img alt="Logotipo do CGILua" src="cgi-128.gif"/></a></div>
<div id="product_name"><big><strong>CGILua</strong></big></div>
<div id="product_description">Geração de scripts para a Web usando Lua</div>
</div> <!-- id="product" -->
<div id="main">
<div id="navigation">
<h1>CGILua</h1>
<ul>
<li><a href="index.html">Início</a>
<ul>
<li><a href="index.html#overview">Visão geral</a></li>
<li><a href="index.html#status">Status</a></li>
<li><a href="index.html#download">Download</a></li>
<li><a href="index.html#history">Histórico</a></li>
<li><a href="index.html#incompatibility">Incompatibilidades</a></li>
<li><a href="index.html#credits">Créditos</a></li>
<li><a href="index.html#contact">Fale conosco</a></li>
</ul>
</li>
<li><a href="manual.html">Manual</a>
<ul>
<li><a href="manual.html#intro">Introdução</a></li>
<li><a href="manual.html#installation">Instalação</a></li>
<li><a href="manual.html#config">Configuração</a></li>
<li><a href="manual.html#scripts">Lua Scripts</a></li>
<li><a href="manual.html#templates">Lua Pages</a></li>
<li><a href="manual.html#parameters">Parâmetros</a></li>
</ul>
</li>
<li><strong>Referência</strong>
<ul>
<li><a href="reference.html#headers">Cabeçalhos</a></li>
<li><a href="reference.html#contents">Geração de conteúdo</a></li>
<li><a href="reference.html#prep">Lua Pages</a></li>
<li><a href="reference.html#variables">Variáveis do CGILua</a></li>
<li><a href="reference.html#error_handling">Tratamento de erros</a></li>
<li><a href="reference.html#behavior">Comportamento do CGILua</a></li>
<li><a href="reference.html#urlcode">Codificação de URL</a></li>
<li><a href="reference.html#auxiliar">Funções auxiliares</a></li>
<li><a href="reference.html#index">Índice alfabético</a></li>
</ul>
</li>
<li><a href="libraries.html">Bibliotecas</a>
<ul>
<li><a href="libraries.html#cookies">Cookies</a></li>
<li><a href="libraries.html#serialize">Serialize</a></li>
<li><a href="libraries.html#session">Session</a></li>
</ul>
</li>
<li><a href="sapi.html">SAPI</a></li>
<li><a href="license.html">Licenças</a></li>
</ul>
</div> <!-- id="navigation" -->
<div id="content">
<h2><a name="headers"></a>Cabeçalhos</h2>
<p>As funções de cabeçalho são usadas para alterar os cabeçalhos de resposta HTTP e consistem em:</p>
<dl class="reference">
<dt><a name="contentheader"></a><strong><code>cgilua.contentheader (type, subtype)</code></strong></dt>
<dd>Envia um cabeçalho <em>Content-type</em> com os valores dados de tipo e subtipo.<br/> Ambos os argumentos são strings: <code>type</code> é o tipo do cabeçalho; <code>subtype</code> é o subtipo do cabeçalho.<br/> Não retorna nada.</dd>
<dt><a name="header"></a><strong><code>cgilua.header (header, value)</code></strong></dt>
<dd>Envia um cabeçalho genérico. Esta função <em>não</em> deve ser usada para gerar um cabeçalho <em>Content-type</em> ou <em>Location</em>.<br/> Ambos os argumentos são strings: <code>header</code> é o nome do cabeçalho e <code>value</code>, seu valor.<br/> Não retorna nada.</dd>
<dt><a name="htmlheader"></a><strong><code>cgilua.htmlheader ()</code></strong></dt>
<dd>Envia o cabeçalho de um arquivo HTML (<em>Content-type: text/html</em>).<br/> Não retorna nada.</dd>
<dt><a name="redirect"></a><strong><code>cgilua.redirect (url, args)</code></strong></dt>
<dd>Envia o cabeçalho para forçar o redirecionamento para a URL dada, adicionando os parâmetros na tabela <code>args</code> relativos à nova URL.<br/> O primeiro argumento (<code>url</code>) é a URL à qual o navegador deve ser redirecionado; o segundo (<code>args</code>) é uma tabela opcional que pode conter pares <em>nome = valor</em> que serão codificados para formar um URL válido (consulte a função <a href="#encodetable">cgilua.urlcode.encodetable</a>).<br/> Não retorna nada.</dd>
</dl>
<h2><a name="contents"></a>Geração de conteúdo</h2>
<p>As funções de geração de conteúdo são usadas para produzir texto para a resposta e gerar URLs no formato do CGILua. Elas consistem em:</p>
<dl class="reference">
<dt><a name="mkabsoluteurl"></a><strong><code>cgilua.mkabsoluteurl (path)</code></strong></dt>
<dd>Cria uma URL absoluta contendo <code>path</code> da URL dada.<br/> Retorna a URL absoluta resultante.</dd>
<dt><a name="mkurlpath"></a><strong><code>cgilua.mkurlpath (script [, args])</code></strong></dt>
<dd>Cria o caminho de uma URL a ser usado como link para um <code>script</code> CGILua usando a tabela opcional de argumentos (<code>args</code>). Os argumentos são usados na URL como parâmetros de string de consulta.<br/> Retorna a URL resultante.</dd>
<dt><a name="put"></a><strong><code>cgilua.put (string)</code></strong></dt>
<dd>Envia a <code>string</code> dada para o cliente.<br/> Não retorna nada.</dd>
</dl>
<h2><a name="lp"></a>Lua Pages</h2>
<p>As funções de Lua Pages são usadas para processar templates Lua Pages e definir o comportamento desse processamento. Elas consistem em:</p>
<dl class="reference">
<dt><a name="handlelp"></a><strong><code>cgilua.handlelp (filename)</code></strong></dt>
<dd>Equivale a <a href="include"><code>cgilua.lp.include</code></a>, mas envia o cabeçalho HTML antes do arquivo pré-processado.<br/> Não retorna nada.</dd>
<dt><a name="include"></a><strong><code>cgilua.lp.include (filename)</code></strong></dt>
<dd>Pré-processa um template Lua Page (fornecido por <code>filename</code>) e envia o resultado para o cliente.<br/> Não retorna nada.</dd>
<dt><a name="setcompatmode"></a><strong><code>cgilua.lp.setcompatmode (boolean)</code></strong></dt>
<dd>Ativa e desativa o modo de compatibilidade. A ativação fará com que o pré-processador de Lua Pages entenda as estruturas de <em>campos de expressão</em> e <em>campos de código</em> usadas por versões anteriores do CGILua.<br/> Não retorna nada.</dd>
<dt><a name="setoutfunc"></a><strong><code>cgilua.lp.setoutfunc (funcname)</code></strong></dt>
<dd>Define o nome da função de resultado de templates. O pré-processador Lua Pages gera chamadas para a função com o <code>funcname</code> fornecido (uma string).<br/> Não retorna nada.</dd>
<dt><a name="translate"></a><strong><code>cgilua.lp.translate (string)</code></strong></dt>
<dd>Usa o pré-processador Lua Pages para gerar uma string correspondente ao código Lua que executa expressões e/ou chunks em Lua dentro da <code>string</code> fornecida.<br/> Retorna uma string com o código Lua resultante.</dd>
</dl>
<h2><a name="variables"></a>Variáveis do CGILua</h2>
<p>As variáveis do CGILua oferecem informações sobre o script em processamento e as <a href="sapi.html#servervariable">variáveis de ambiente do CGI</a>. Elas consistem em atributos e funções:</p>
<dl class="reference">
<dt><a name="script_file"></a><strong><code>cgilua.script_file</code></strong></dt>
<dd>O nome do arquivo do script em execução. Obtido de <a href="#script_path"><code>cgilua.script_path</code></a>.</dd>
<dt><a name="script_path"></a><strong><code>cgilua.script_path</code></strong></dt>
<dd>O caminho completo do arquivo do script em execução. Esta variável normalmente é igual à <a href="sapi.html#servervariable">variável de ambiente do CGI</a> <code>PATH_TRANSLATED</code>.</dd>
<dt><a name="script_pdir"></a><strong><code>cgilua.script_pdir</code></strong></dt>
<dd>O diretório do script em execução. Obtido de <a href="#script_path"><code>cgilua.script_path</code></a>.</dd>
<dt><a name="script_vdir"></a><strong><code>cgilua.script_vdir</code></strong></dt>
<dd>O diretório virtual do script em execução. Obtido de <a href="#script_vpath"><code>cgilua.script_vpath</code></a>.</dd>
<dt><a name="script_vpath"></a><strong><code>cgilua.script_vpath</code></strong></dt>
<dd>O caminho virtual completo do arquivo do script em execução. Equivale à <a href="sapi.html#servervariable">variável de ambiente do CGI</a> <code>PATH_INFO</code>.</dd>
<dt><a name="servervariable"></a><strong><code>cgilua.servervariable (varname)</code></strong></dt>
<dd>Retorna uma string com o valor da variável de ambiente do CGI que corresponde a <code>varname</code>. Para obter uma lista das variáveis do CGI, consulte <a href="sapi.html#servervariable">SAPI.Request.servervariable</a>.</dd>
<dt><a name="urlpath"></a><strong><code>cgilua.urlpath</code></strong></dt>
<dd>O nome do script. Equivale à <a href="sapi.html#servervariable">variável de ambiente do CGI</a> <code>SCRIPT_NAME</code>.</dd>
</dl>
<h2><a name="error_handling"></a>Tratamento de erros</h2>
<p>As funções de tratamento de erros do CGILua permitem a redefinição de como os erros são tratados e apresentados ao usuário. Elas consistem em:</p>
<dl class="reference">
<dt><a name="errorlog"></a><strong><code>cgilua.errorlog (string)</code></strong></dt>
<dd>Envia a <code>string</code> dada para o arquivo de log de erros.<br/> Não retorna nada.</dd>
<dt><a name="seterrorhandler"></a><strong><code>cgilua.seterrorhandler (func)</code></strong></dt>
<dd>Define a tratador de erros como <code>func</code>. Esta função é chamada pela Lua quando ocorre um erro. Ela recebe a mensagem de erro gerada pela Lua e é responsável por gerar e retornar o erro correto que deve ser usado pelo CGILua.<br/> Não retorna nada.</dd>
<dt><a name="seterroroutput"></a><strong><code>cgilua.seterroroutput (func)</code></strong></dt>
<dd>Define a função responsável pela apresentação de erros como <code>func</code>. Esta função é chamada pela Lua para gerar o resultado do erro.<br/> Não retorna nada.</dd>
</dl>
<h2><a name="behavior"></a>Comportamento do CGILua</h2>
<p>O comportamento do CGILua pode ser configurado com o uso deste conjunto de funções:</p>
<dl class="reference">
<dt><a name="addclosefunction"></a><strong><code>cgilua.addclosefunction (func)</code></strong></dt>
<dd>Define uma função (<code>func</code>) para ser chamada após a execução do CGILua.<br/> Não retorna nada.</dd>
<dt><a name="addopenfunction"></a><strong><code>cgilua.addopenfunction (func)</code></strong></dt>
<dd>Define uma função (<code>func</code>) para ser chamada antes da execução do CGILua.<br/> Não retorna nada.</dd>
<dt><a name="addscripthandler"></a><strong><code>cgilua.addscripthandler (ext, func)</code></strong></dt>
<dd>Define uma função (<code>func</code>) para pré-processar os arquivos com uma determinada extensão (<code>ext</code>). A configuração padrão usa <a href="#doscript"><code>cgilua.doscript</code></a> para processar Lua Scripts (arquivos <code>.lua</code>) e <a href="#handlelp"><code>cgilua.handlelp</code></a> para processar Lua Pages (arquivos <code>.lp</code>).<br/> Não retorna nada.</dd>
<dt><a name="buildplainhandler"></a><strong><code>cgilua.buildplainhandler (type, subtype)</code></strong></dt>
<dd>Cria um <em>tratador de scripts</em> que envia o cabeçalho fornecido e o arquivo sem formatação solicitado. O cabeçalho <em>Content-type</em> é formado pelos dois argumentos; a função criada recebe um <em>nome de arquivo</em> como único argumento e retorna o nome de arquivo dado sem alterações.<br/> Retorna uma função.</dd>
<dt><a name="buildprocesshandler"></a><strong><code>cgilua.buildprocesshandler (type, subtype)</code></strong></dt>
<dd>Cria um <em>tratador de scripts</em> que envia o cabeçalho fornecido e o arquivo processado solicitado. O cabeçalho <em>Content-type</em> é formado pelos dois argumentos; a função criada recebe um <em>nome de arquivo</em> como único argumento e retorna o nome de arquivo dado pré-processado pela função <a href="#include">cgilua.lp.include</a>.<br/> Retorna uma função.</dd>
<dt><a name="setlibdir"></a><strong><code>cgilua.setlibdir (dir)</code></strong></dt>
<dd>Define o diretório de bibliotecas padrão do CGILua. Esse valor é usado para criar o <code>LUA_PATH</code> usado pela função <code>require</code> (<code>require</code> é redefinida pelo CGILua).<br/> Não retorna nada.</dd>
<dt><a name="setmaxfilesize"></a><strong><code>cgilua.setmaxfilesize (size)</code></strong></dt>
<dd>Define o <code>tamanho</code> máximo (em bytes) de cada arquivo cujo upload seja feito. Esse valor é limitado pelo <em>tamanho máximo de entrada total</em> (consulte <a href="#setmaxinput">cgilua.setmaxinput</a>). Esta função só passa a vigorar se usada antes do processamento dos dados de POST, portanto, seu uso em scripts é irrelevante.<br/> Não retorna nada.</dd>
<dt><a name="setmaxinput"></a><strong><code>cgilua.setmaxinput (size)</code></strong></dt>
<dd>Define o <code>tamanho</code> de <em>entrada total máxima</em> permitido (em bytes). Esta função só passa a vigorar se usada antes do processamento dos dados de POST, portanto, seu uso em scripts é irrelevante.<br/> Não retorna nada.</dd>
</dl>
<h2><a name="urlcode"></a>Funções de codificação de URL</h2>
<p>As funções de codificação do CGILua permitem que o processamento de strings de URL seja feito de maneira simples:</p>
<dl class="reference">
<dt><a name="encodetable"></a><strong><code>cgilua.urlcode.encodetable (table)</code></strong></dt>
<dd><em>Codifica em formato URL</em> os elementos de uma <code>tabela</code>, criando uma string usada como URL para informar dados/parâmetros a outro script.<br/> Retorna uma string representando a tabela de argumentos codificada.</dd>
<dt><a name="escape"></a><strong><code>cgilua.urlcode.escape (string)</code></strong></dt>
<dd><em>Codifica em formato URL</em> uma <code>string</code>.<br/> Retorna a string codificada.</dd>
<dt><a name="insertfield"></a><strong><code>cgilua.urlcode.insertfield (args, name, value)</code></strong></dt>
<dd>Adiciona o valor (<code>value</code>) fornecido ao campo indexado por um nome (<code>nome</code>) na tabela <code>args</code>. Se o campo já tiver um valor, será transformado em uma tabela com esse valor no índice <code>1</code> e o novo valor no índice <code>2</code>. Outros valores serão acrescentados no final da <em>parte array</em> da tabela criada.<br/> Não retorna nada.</dd>
<dt><a name="parsequery"></a><strong><code>cgilua.urlcode.parsequery (query, args)</code></strong></dt>
<dd>Analisa os dados codificados em formato URL do pedido. Isso pode ser a parte <code>query</code> da URL do script ou dos dados POST codificados em URL. Cada par <em>nome = valor</em> codificado é inserido na tabela <code>args</code>.<br/> Não retorna nada.</dd>
<dt><a name="unescape"></a><strong><code>cgilua.urlcode.unescape (string)</code></strong></dt>
<dd>Decodifica uma <code>string</code> que usa o formato URL.<br/> Retorna a string decodificada.</dd>
</dl>
<h2><a name="auxiliar"></a>Funções auxiliares</h2>
<dl class="reference">
<dt><a name="doscript"></a><strong><code>cgilua.doscript (filepath)</code></strong></dt>
<dd>Executa um arquivo (dado por <code>filepath</code>). Gera um erro se ocorrer. Em caso de êxito, retorna os valores retornados pela execução.</dd>
<dt><a name="pack"></a><strong><code>cgilua.pack (...)</code></strong></dt>
<dd>Retorna uma nova tabela que armazena todos os argumentos passados.</dd>
<dt><a name="splitpath"></a><strong><code>cgilua.splitpath (path)</code></strong></dt>
<dd>Retorna duas strings com as partes "diretório" e "arquivo" do <code>path</code> fornecido.</dd>
</dl>
<h2><a name="index"></a>Índice alfabético</h2>
<a href="#addclosefunction">addclosefunction</a><br/> <a href="#addopenfunction">addopenfunction</a><br/> <a href="#addscripthandler">addscripthandler</a><br/> <a href="#buildplainhandler">buildplainhandler</a><br/> <a href="#buildprocesshandler">buildprocesshandler</a><br/> <a href="#contentheader">contentheader</a><br/> <a href="#doscript">doscript</a><br/> <a href="#encodetable">encodetable (urlcode)</a><br/> <a href="#errorlog">errorlog</a><br/> <a href="#escape">escape (urlcode)</a><br/> <a href="#header">header</a><br/> <a href="#htmlheader">htmlheader</a><br/> <a href="#include">include (lp)</a><br/> <a href="#insertfield">insertfield (urlcode)</a><br/> <a href="#mkabsoluteurl">mkabsoluteurl</a><br/> <a href="#mkurlpath">mkurlpath</a><br/> <a href="#pack">pack</a><br/> <a href="#parsequery">parsequery (urlcode)</a><br/> <a href="#handlelp">handlelp</a><br/> <a href="#lp">lp</a><br/> <a href="#put">put</a><br/> <a href="#redirect">redirect</a><br/> <a href="#script_file">script_file</a><br/> <a href="#script_path">script_path</a><br/> <a href="#script_pdir">script_pdir</a><br/> <a href="#script_vdir">script_vdir</a><br/> <a href="#script_vpath">script_vpath</a><br/> <a href="#servervariable">servervariable</a><br/> <a href="#setcompatmode">setcompatmode (lp)</a><br/> <a href="#seterrorhandler">seterrorhandler</a><br/> <a href="#seterroroutput">seterroroutput</a><br/> <a href="#setlibdir">setlibdir</a><br/> <a href="#setmaxfilesize">setmaxfilesize</a><br/> <a href="#setmaxinput">setmaxinput</a><br/> <a href="#setoutfunc">setoutfunc (lp)</a><br/> <a href="#splitpath">splitpath</a><br/> <a href="#urlcode">urlcode</a><br/> <a href="#unescape">unescape (urlcode)</a><br/> <a href="#urlpath">urlpath</a><br/>
</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<p><a href="http://validator.w3.org/check?uri=referer">valid</a></p>
<p><small>$Id: reference.html,v 1.4 2005/11/03 18:48:57 carregal Exp $</small></p>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>
|