Mercurial > urweb
view tests/policy2.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 | d5ecceb7d1a1 |
children |
line wrap: on
line source
type fruit = int table fruit : { Id : fruit, Nam : string, Weight : float, Secret : string } PRIMARY KEY Id, CONSTRAINT Nam UNIQUE Nam (* Everyone may knows IDs and names. *) policy sendClient (SELECT fruit.Id, fruit.Nam FROM fruit) (* The weight is sensitive information; you must know the secret. *) policy sendClient (SELECT fruit.Weight, fruit.Secret FROM fruit WHERE known(fruit.Secret)) fun main () = x1 <- queryX (SELECT fruit.Id, fruit.Nam FROM fruit WHERE fruit.Nam = "apple") (fn x => <xml><li>{[x.Fruit.Id]}: {[x.Fruit.Nam]}</li></xml>); return <xml><body> <ul>{x1}</ul> </body></xml>