Há pouco foi lançada a versão 0.25 de
awful. A seguir são descritas as novidades.
O servidor awful admite novos parâmetros de linha de comando:
--development-mode
,
--ip-address
e
--port
. Os parâmetros
--development-mode
e
--port
servem, respectivamente, para fazer com que o servidor escute nos dados endereço IP e porta.
O parâmetro
--development-mode
ativa o modo de desenvolvimento de awful. Neste modo, funcionalidades como o
Web REPL e o
Session inspector são automaticamente ativadas. O caminho
/reload
também é automaticamente criado para que as aplicações possam ser recarregadas sem que seja necessário reiniciar o servidor. No modo de desenvolvimento, mensagens de erro das aplicações são exibidas no cliente (e.g., navegador). Abaixo está um exemplo (
erro.scm
):
#!/usr/bin/awful
(use awful)
(define-page (main-page-path)
(lambda ()
(++ "Oops " 'erro)))
Para executar no modo de desenvolvimento:
$ awful --development-mode erro.scm
Ao acessar
http://localhost:8080/
a mensagem de erro do
screenshot abaixo é exibida no navegador, seguida de um link para o Web REPL.
Quando executado em modo de desenvolvimento, o parâmetro
development-mode?
tem como valor
#t
.
Outra novidade é o parâmetro
awful-response-headers
o qual permite ajustar os campos do cabeçalho de resposta para o cliente. Abaixo está um exemplo de um procedimento para associar URIs a respostas
JSON:
#!/usr/bin/awful
(use awful)
(define (define-json path body)
(define-page path
(lambda ()
(awful-response-headers '((content-type "text/json")))
(body))
no-template: #t))
(define-json (main-page-path)
(lambda ()
"{a: 1}"))
A menos que explicitamente fornecido, awful calcula automaticamente o tamanho da resposta e o atribui ao campo
Content-Length
.
Hoje também disponibilizei um pequeno texto com
instruções sobre como instalar awful em sistemas Unix[-like].