summaryrefslogtreecommitdiff
path: root/src/cjr_print.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-04-26 09:02:17 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-04-26 09:02:17 -0400
commitbc7a09d702e53faaa882bb7b2591abe68ff5648e (patch)
tree0405c498a9fae8ff066ca8fdeafa8f85b0615dbe /src/cjr_print.sml
parent609db88f316604bf1084dbb0defe5e6c0eaf07ae (diff)
Returning a blob as page result
Diffstat (limited to 'src/cjr_print.sml')
-rw-r--r--src/cjr_print.sml18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/cjr_print.sml b/src/cjr_print.sml
index 07e3931f..3f7ec1e1 100644
--- a/src/cjr_print.sml
+++ b/src/cjr_print.sml
@@ -1276,8 +1276,26 @@ fun p_exp' par env (e, loc) =
string "tmp;",
newline,
string "})"]
+ | EReturnBlob {blob, mimeType, t} =>
+ box [string "({",
+ newline,
+ p_typ env t,
+ space,
+ string "tmp;",
+ newline,
+ string "uw_return_blob(ctx, ",
+ p_exp env blob,
+ string ", ",
+ p_exp env mimeType,
+ string ");",
+ newline,
+ string "tmp;",
+ newline,
+ string "})"]
| EApp ((EError (e, (TFun (_, ran), _)), loc), _) =>
p_exp env (EError (e, ran), loc)
+ | EApp ((EReturnBlob {blob, mimeType, t = (TFun (_, ran), _)}, loc), _) =>
+ p_exp env (EReturnBlob {blob = blob, mimeType = mimeType, t = ran}, loc)
| EFfiApp (m, x, es) => box [string "uw_",
p_ident m,