Mercurial > urweb
comparison tests/blob.ur @ 1471:67ebd30a2283
Keep user-set response headers on indirect returns
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 12 Jun 2011 17:44:34 -0400 |
parents | 034eeb099564 |
children |
comparison
equal
deleted
inserted
replaced
1470:5018878ca645 | 1471:67ebd30a2283 |
---|---|
1 sequence s | 1 fun main () = |
2 table t : { Id : int, Nam : option string, Data : blob, Desc : string, Typ : string } | 2 setHeader (blessResponseHeader "X-Test") "Test"; |
3 return <xml><body>Test</body></xml> | |
3 | 4 |
4 fun see id = | 5 fun bad () = |
5 r <- oneRow (SELECT t.Data, t.Typ FROM t WHERE t.Id = {[id]}); | 6 setHeader (blessResponseHeader "X-Test") "Test"; |
6 returnBlob r.T.Data (blessMime r.T.Typ) | 7 returnBlob (textBlob "hello") (blessMime "text/plain") |
7 | |
8 fun save r = | |
9 id <- nextval s; | |
10 dml (INSERT INTO t (Id, Nam, Data, Desc, Typ) | |
11 VALUES ({[id]}, {[fileName r.Data]}, {[fileData r.Data]}, {[r.Desc]}, {[fileMimeType r.Data]})); | |
12 main () | |
13 | |
14 and main () = | |
15 ls <- queryX (SELECT t.Id, t.Desc, octet_length(t.Data) AS Len FROM t ORDER BY t.Desc) | |
16 (fn r => <xml><li><a link={see r.T.Id}>{[r.T.Desc]} ({[r.Len]})</a></li></xml>); | |
17 return <xml><body> | |
18 {ls} | |
19 | |
20 <br/> | |
21 | |
22 <form> | |
23 <textbox{#Desc}/> | |
24 <upload{#Data}/> | |
25 <submit action={save}/> | |
26 </form> | |
27 </body></xml> |