Cabeçalhos
As funções de cabeçalho são usadas para alterar os cabeçalhos de resposta HTTP e consistem em:
- cgilua.contentheader (type, subtype)
- Envia um cabeçalho Content-type com os valores dados de tipo e subtipo.
 Ambos os argumentos são strings:typeé o tipo do cabeçalho;subtypeé o subtipo do cabeçalho.
 Não retorna nada.
- cgilua.header (header, value)
- Envia um cabeçalho genérico. Esta função não deve ser usada para gerar um cabeçalho Content-type ou Location.
 Ambos os argumentos são strings:headeré o nome do cabeçalho evalue, seu valor.
 Não retorna nada.
- cgilua.htmlheader ()
- Envia o cabeçalho de um arquivo HTML (Content-type: text/html).
 Não retorna nada.
- cgilua.redirect (url, args)
- Envia o cabeçalho para forçar o redirecionamento para a URL dada, adicionando os parâmetros na tabela argsrelativos à nova URL.
 O primeiro argumento (url) é a URL à qual o navegador deve ser redirecionado; o segundo (args) é uma tabela opcional que pode conter pares nome = valor que serão codificados para formar um URL válido (consulte a função cgilua.urlcode.encodetable).
 Não retorna nada.
Geração de conteúdo
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:
- cgilua.mkabsoluteurl (path)
- Cria uma URL absoluta contendo pathda URL dada.
 Retorna a URL absoluta resultante.
- cgilua.mkurlpath (script [, args])
- Cria o caminho de uma URL a ser usado como link para um scriptCGILua usando a tabela opcional de argumentos (args). Os argumentos são usados na URL como parâmetros de string de consulta.
 Retorna a URL resultante.
- cgilua.put (string)
- Envia a stringdada para o cliente.
 Não retorna nada.
Lua Pages
As funções de Lua Pages são usadas para processar templates Lua Pages e definir o comportamento desse processamento. Elas consistem em:
- cgilua.handlelp (filename)
- Equivale a cgilua.lp.include, mas envia o cabeçalho HTML antes do arquivo pré-processado.
 Não retorna nada.
- cgilua.lp.include (filename)
- Pré-processa um template Lua Page (fornecido por filename) e envia o resultado para o cliente.
 Não retorna nada.
- cgilua.lp.setcompatmode (boolean)
- Ativa e desativa o modo de compatibilidade. A ativação fará com que o pré-processador de Lua Pages entenda as estruturas de campos de expressão e campos de código usadas por versões anteriores do CGILua.
 Não retorna nada.
- cgilua.lp.setoutfunc (funcname)
- Define o nome da função de resultado de templates. O pré-processador Lua Pages gera chamadas para a função com o funcnamefornecido (uma string).
 Não retorna nada.
- cgilua.lp.translate (string)
- 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 stringfornecida.
 Retorna uma string com o código Lua resultante.
Variáveis do CGILua
As variáveis do CGILua oferecem informações sobre o script em processamento e as variáveis de ambiente do CGI. Elas consistem em atributos e funções:
- cgilua.script_file
- O nome do arquivo do script em execução. Obtido de cgilua.script_path.
- cgilua.script_path
- O caminho completo do arquivo do script em execução. Esta variável normalmente é igual à variável de ambiente do CGI PATH_TRANSLATED.
- cgilua.script_pdir
- O diretório do script em execução. Obtido de cgilua.script_path.
- cgilua.script_vdir
- O diretório virtual do script em execução. Obtido de cgilua.script_vpath.
- cgilua.script_vpath
- O caminho virtual completo do arquivo do script em execução. Equivale à variável de ambiente do CGI PATH_INFO.
- cgilua.servervariable (varname)
- Retorna uma string com o valor da variável de ambiente do CGI que corresponde a varname. Para obter uma lista das variáveis do CGI, consulte SAPI.Request.servervariable.
- cgilua.urlpath
- O nome do script. Equivale à variável de ambiente do CGI SCRIPT_NAME.
Tratamento de erros
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:
- cgilua.errorlog (string)
- Envia a stringdada para o arquivo de log de erros.
 Não retorna nada.
- cgilua.seterrorhandler (func)
- Define a tratador de erros como func. 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.
 Não retorna nada.
- cgilua.seterroroutput (func)
- Define a função responsável pela apresentação de erros como func. Esta função é chamada pela Lua para gerar o resultado do erro.
 Não retorna nada.
Comportamento do CGILua
O comportamento do CGILua pode ser configurado com o uso deste conjunto de funções:
- cgilua.addclosefunction (func)
- Define uma função (func) para ser chamada após a execução do CGILua.
 Não retorna nada.
- cgilua.addopenfunction (func)
- Define uma função (func) para ser chamada antes da execução do CGILua.
 Não retorna nada.
- cgilua.addscripthandler (ext, func)
- Define uma função (func) para pré-processar os arquivos com uma determinada extensão (ext). A configuração padrão usacgilua.doscriptpara processar Lua Scripts (arquivos.lua) ecgilua.handlelppara processar Lua Pages (arquivos.lp).
 Não retorna nada.
- cgilua.buildplainhandler (type, subtype)
- Cria um tratador de scripts que envia o cabeçalho fornecido e o arquivo sem formatação solicitado. O cabeçalho Content-type é formado pelos dois argumentos; a função criada recebe um nome de arquivo como único argumento e retorna o nome de arquivo dado sem alterações.
 Retorna uma função.
- cgilua.buildprocesshandler (type, subtype)
- Cria um tratador de scripts que envia o cabeçalho fornecido e o arquivo processado solicitado. O cabeçalho Content-type é formado pelos dois argumentos; a função criada recebe um nome de arquivo como único argumento e retorna o nome de arquivo dado pré-processado pela função cgilua.lp.include.
 Retorna uma função.
- cgilua.setlibdir (dir)
- Define o diretório de bibliotecas padrão do CGILua. Esse valor é usado para criar o LUA_PATHusado pela funçãorequire(requireé redefinida pelo CGILua).
 Não retorna nada.
- cgilua.setmaxfilesize (size)
- Define o tamanhomáximo (em bytes) de cada arquivo cujo upload seja feito. Esse valor é limitado pelo tamanho máximo de entrada total (consulte cgilua.setmaxinput). Esta função só passa a vigorar se usada antes do processamento dos dados de POST, portanto, seu uso em scripts é irrelevante.
 Não retorna nada.
- cgilua.setmaxinput (size)
- Define o tamanhode entrada total máxima 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.
 Não retorna nada.
Funções de codificação de URL
As funções de codificação do CGILua permitem que o processamento de strings de URL seja feito de maneira simples:
- cgilua.urlcode.encodetable (table)
- Codifica em formato URL os elementos de uma tabela, criando uma string usada como URL para informar dados/parâmetros a outro script.
 Retorna uma string representando a tabela de argumentos codificada.
- cgilua.urlcode.escape (string)
- Codifica em formato URL uma string.
 Retorna a string codificada.
- cgilua.urlcode.insertfield (args, name, value)
- Adiciona o valor (value) fornecido ao campo indexado por um nome (nome) na tabelaargs. Se o campo já tiver um valor, será transformado em uma tabela com esse valor no índice1e o novo valor no índice2. Outros valores serão acrescentados no final da parte array da tabela criada.
 Não retorna nada.
- cgilua.urlcode.parsequery (query, args)
- Analisa os dados codificados em formato URL do pedido. Isso pode ser a parte queryda URL do script ou dos dados POST codificados em URL. Cada par nome = valor codificado é inserido na tabelaargs.
 Não retorna nada.
- cgilua.urlcode.unescape (string)
- Decodifica uma stringque usa o formato URL.
 Retorna a string decodificada.
Funções auxiliares
- cgilua.doscript (filepath)
- Executa um arquivo (dado por filepath). Gera um erro se ocorrer. Em caso de êxito, retorna os valores retornados pela execução.
- cgilua.pack (...)
- Retorna uma nova tabela que armazena todos os argumentos passados.
- cgilua.splitpath (path)
- Retorna duas strings com as partes "diretório" e "arquivo" do pathfornecido.
Índice alfabético
addclosefunctionaddopenfunction
addscripthandler
buildplainhandler
buildprocesshandler
contentheader
doscript
encodetable (urlcode)
errorlog
escape (urlcode)
header
htmlheader
include (lp)
insertfield (urlcode)
mkabsoluteurl
mkurlpath
pack
parsequery (urlcode)
handlelp
lp
put
redirect
script_file
script_path
script_pdir
script_vdir
script_vpath
servervariable
setcompatmode (lp)
seterrorhandler
seterroroutput
setlibdir
setmaxfilesize
setmaxinput
setoutfunc (lp)
splitpath
urlcode
unescape (urlcode)
urlpath
