diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-11-26 14:20:00 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-11-26 14:20:00 -0500 |
commit | 20a451e11a5c10d4751beebcf09e0c86568ac5d2 (patch) | |
tree | 428c81f5418b09ac4d8f8bbfa61e16723e519f67 /demo | |
parent | 27e785f13b18b42885b15cb38a2cd48d7e8fbdd5 (diff) |
More fun with cookies
Diffstat (limited to 'demo')
-rw-r--r-- | demo/cookie.ur | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/demo/cookie.ur b/demo/cookie.ur index ad4e19ec..7e011157 100644 --- a/demo/cookie.ur +++ b/demo/cookie.ur @@ -1,15 +1,30 @@ cookie c : {A : string, B : float, C : int} fun set r = - setCookie c {A = r.A, B = readError r.B, C = readError r.C}; + setCookie c {Value = {A = r.A, B = readError r.B, C = readError r.C}, + Expires = None, + Secure = False}; return <xml>Cookie set.</xml> +fun setExp r = + setCookie c {Value = {A = r.A, B = readError r.B, C = readError r.C}, + Expires = Some (readError "2012-11-6 00:00:00"), + Secure = False}; + return <xml>Cookie set robustly.</xml> + +fun delete () = + clearCookie c; + return <xml>Cookie cleared.</xml> + fun main () = ro <- getCookie c; return <xml><body> {case ro of None => <xml>No cookie set.</xml> - | Some v => <xml>Cookie: A = {[v.A]}, B = {[v.B]}, C = {[v.C]}</xml>} + | Some v => <xml> + Cookie: A = {[v.A]}, B = {[v.B]}, C = {[v.C]}<br/> + <form><submit value="Delete" action={delete}/></form> + </xml>} <br/><br/> <form> @@ -17,5 +32,13 @@ fun main () = B: <textbox{#B}/><br/> C: <textbox{#C}/><br/> <submit action={set}/> + </form><br/> + + <form> + <b>Version that expires on November 6, 2012:</b><br/> + A: <textbox{#A}/><br/> + B: <textbox{#B}/><br/> + C: <textbox{#C}/><br/> + <submit action={setExp}/> </form> </body></xml> |