]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.rest/scl/HTTP/MultiPart.scl
Improvements to HTTP client SCL API
[simantics/platform.git] / bundles / org.simantics.scl.rest / scl / HTTP / MultiPart.scl
diff --git a/bundles/org.simantics.scl.rest/scl/HTTP/MultiPart.scl b/bundles/org.simantics.scl.rest/scl/HTTP/MultiPart.scl
new file mode 100644 (file)
index 0000000..44cb307
--- /dev/null
@@ -0,0 +1,43 @@
+import "File"
+import "Stream"
+import "HTTP/MediaType"
+import "JavaBuiltin" as Java
+
+importJava "org.glassfish.jersey.media.multipart.MultiPart" where
+    data MultiPart
+    
+    @JavaName "<init>"
+    multiPart :: MediaType -> <Proc> MultiPart
+    
+    @JavaName bodyPart
+    addBodyPart :: MultiPart -> BodyPart -> <Proc> MultiPart
+
+importJava "org.glassfish.jersey.media.multipart.BodyPart" where
+    data BodyPart
+    
+    @JavaName "<init>"
+    bodyPart :: a -> MediaType -> <Proc> BodyPart 
+
+importJava "org.glassfish.jersey.media.multipart.FormDataBodyPart" where
+    data FormDataBodyPart
+    
+    @JavaName "<init>"
+    formDataBodyPart :: String -> a -> MediaType -> <Proc> BodyPart
+
+importJava "org.glassfish.jersey.media.multipart.file.FileDataBodyPart" where
+    data FileDataBodyPart
+    
+    @JavaName "<init>"
+    fileDataBodyPart :: String -> File -> MediaType -> <Proc> BodyPart
+
+importJava "org.glassfish.jersey.media.multipart.file.StreamDataBodyPart" where
+    data StreamDataBodyPart
+    
+    @JavaName "<init>"
+    streamDataBodyPart :: String -> InputStream -> String -> MediaType -> <Proc> BodyPart
+
+multiPartAsBodyPart :: MultiPart -> BodyPart
+multiPartAsBodyPart mp = Java.unsafeCoerce mp
+
+formDataMultiPart :: <Proc> MultiPart
+formDataMultiPart = multiPart MULTIPART_FORM_DATA_TYPE
\ No newline at end of file