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
args
relativos à 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
path
da URL dada.
Retorna a URL absoluta resultante. cgilua.mkurlpath (script [, args])
- Cria o caminho de uma URL a ser usado como link para um
script
CGILua 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
string
dada 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
funcname
fornecido (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
string
fornecida.
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
string
dada 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.doscript
para processar Lua Scripts (arquivos.lua
) ecgilua.handlelp
para 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_PATH
usado pela funçãorequire
(require
é redefinida pelo CGILua).
Não retorna nada. cgilua.setmaxfilesize (size)
- Define o
tamanho
má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
tamanho
de 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 índice1
e 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
query
da 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
string
que 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
path
fornecido.
Í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