Mercurial > urweb
view tests/goodbye.ur @ 2162:c39c48696393
Allow returnBlob and redirect in static protocol
Both of these functions end up returning RETURN_INDIRECTLY, which is
assumed to be an error by static.c's main. Treat it as success
instead.
author | Julian Squires <julian@cipht.net> |
---|---|
date | Mon, 13 Jul 2015 14:34:30 -0400 |
parents | c05e2e4bdde7 |
children |
line wrap: on
line source
table boo : { Client : client, Channel : channel unit } fun doIt () = me <- self; ch <- channel; dml (INSERT INTO boo (Client, Channel) VALUES ({[me]}, {[ch]})); return <xml><body onload={let fun loop () = v <- recv ch; alert "Someone left"; loop () in loop () end}/></xml> task clientLeaves = fn cl => debug "Client left"; dml (DELETE FROM boo WHERE Client = {[cl]}); queryI (SELECT (boo.Channel) FROM boo) (fn r => send r.1 ()); debug "Done processing" fun main () = return <xml><body> <form> <submit action={doIt}/> </form> </body></xml>