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
