domingo, 9 de maio de 2010

Awful: expressões regulares para dispatching de URLs

Há pouco fiz o commit da mais nova versão de awful (0.18) . A novidade mais significativa desta versão é o suporte a dispatching de URLs através de expressões regulares. Em outras palavras, agora é possível associar uma expressão regular a um procedimento a ser executado. Assim, se o caminho da URL da requisição bate com a expressão regular, o procedimento é invocado com o caminho como argumento.

Abaixo está um exemplo simples que ilustra o que a nova versão pode fazer:
(use awful srfi-1 regex)

(define-page (regexp "/add/.*")
(lambda (path)
(let ((numbers (filter-map string->number (string-split path "/"))))
(number->string (apply + numbers)))))


Se acessarmos o servidor executando o código acima através da URL http://host:port/add/1/2/3 o resultado exibido será 6.

2 comentários:

Celso L.L. Rodrigues disse...

Para alguma coisa serviram as aulas de teoria da computação e de programação funcional! :-) (Celso R)

Mario Domenech Goulart disse...

Alô Celso!

Serviram muito e para muita coisa! :-)

As aulas de Linguagens de Programação (I e II) também foram especialmente importantes.

Abraço.
Mario