xnhttpd
v0.8.0
xnhttpd {OPTIONS} [SETTING-JSON-PATH]
que inicia o serviço no host: 8000 e chama os scripts CGI no diretório atual.
O JSON para configuração é como abaixo.
{
"handler" :{
".pl" : " c:/Program Files/Git/usr/bin/perl.exe "
},
"markdown" :{
"html" : true ,
"hardwrap" : true
}
} Para usar o amostra Wiki-Engine, abra http://127.0.0.1:8000/wiki.pl com o web-Browser.
Quando o sufixo do URL solicitado termina com .md e o arquivo existe, o visualizador de markdown incorporado (Goldmark) é executado.
Se { "markdown":{ "html":true }} estiver definido, html-tags está disponível em *.md
Quando o sufixo do URL solicitado termina com .lua e o arquivo existe, o Lua-Interpretor incorporado (Gopherlua) é executado.
print ( " <html><body> " )
print ( " <h1>Embedded Lua Test</h1> " )
for _ , key in pairs {
" QUERY_STRING " ,
" CONTENT_LENGTH " ,
" REQUEST_METHOD " ,
" HTTP_COOKIE " ,
" HTTP_USER_AGENT " ,
" SCRIPT_NAME " ,
" REMOTE_ADDR " ,
} do
print ( string.format ( " <div>%s=%s</div> " , esc ( key ), esc ( _G [ key ])))
end
print ( " <hr /> " )
print ( string.format ( " <div>a=%s</div> " , esc ( get ( " a " ))))
print ( string.format ( [[
<form action="%s" method="post">
<div>New `a` value</div>
<div>
<input type="text" name="a" value="%s" />
<input type="submit" />
</div>
</form>
]] , esc ( SCRIPT_NAME ), esc ( get ( " a " ))))
local counter = cookie ( " counter " )
if counter and counter . value then
counter = { value = tonumber ( counter . value ) + 1 }
else
counter = { value = 1 }
end
setcookie ( " counter " , counter . value )
print ( " counter= " .. counter . value )
print ( " </body></html> " )Faça o download do pacote binário de lançamentos e extraia o executável.
go install github.com/hymkor/xnhttpd
scoop install https://raw.githubusercontent.com/hymkor/xnhttpd/master/xnhttpd.json
ou
scoop bucket add hymkor https://github.com/hymkor/scoop-bucket
scoop install xnhttpd