Paste: the code
Author: | slava |
Mode: | factor |
Date: | Tue, 23 Sep 2008 06:18:03 |
Plain Text |
USING: furnace.actions furnace.redirection
http.server.dispatchers html.forms validators urls accessors
math ;
IN: webapps.calculator
TUPLE: calculator < dispatcher ;
: <calculator-action> ( -- action )
<page-action>
[
{ { "z" [ [ v-number ] v-optional ] } } validate-params
] >>init
{ calculator "calculator" } >>template
[
{
{ "x" [ v-number ] }
{ "y" [ v-number ] }
} validate-params
URL" $calculator" "x" value "y" value + "z" set-query-param
<redirect>
] >>submit ;
: <calculator> ( -- responder )
calculator new-dispatcher
<calculator-action> >>default ;
USING: db.sqlite furnace.alloy namespaces http.server ;
: calculator-db ( -- params db ) "counter.db" sqlite-db ;
: run-calculator ( -- )
<calculator>
calculator-db <alloy>
main-responder set-global
8080 httpd ;
MAIN: run-calculator
New Annotation