]> gitweb.factorcode.org Git - factor.git/commitdiff
mime.multipart: use header, some cleanup.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sat, 18 Apr 2015 00:41:56 +0000 (17:41 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 18 Apr 2015 00:41:56 +0000 (17:41 -0700)
basis/mime/multipart/multipart.factor

index 6e73b9b8465fde15f1415f5fb34dc0a09aadf45c..15f008ef1aa459b08d74aa0d88b98f85590475e6 100644 (file)
@@ -1,10 +1,9 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: multiline kernel sequences io splitting fry namespaces
-http.parsers hashtables assocs combinators ascii io.files.unique
-accessors io.encodings.binary io.files byte-arrays math
-io.streams.string combinators.short-circuit strings math.order
-quoting ;
+USING: accessors ascii assocs byte-arrays combinators fry
+hashtables http http.parsers io io.encodings.binary io.files
+io.files.unique io.streams.string kernel math quoting sequences
+splitting ;
 IN: mime.multipart
 
 CONSTANT: buffer-size 65536
@@ -20,7 +19,10 @@ name name-content
 mime-parts ;
 
 TUPLE: mime-file headers filename temporary-path ;
+C: <mime-file> mime-file
+
 TUPLE: mime-variable headers key value ;
+C: <mime-variable> mime-variable
 
 : <multipart> ( mime-separator -- multipart )
     multipart new
@@ -80,7 +82,7 @@ ERROR: end-of-stream multipart ;
     dup filename>> empty-name? [
         drop
     ] [
-        [ [ header>> ] [ filename>> ] [ temp-file>> ] tri mime-file boa ]
+        [ [ header>> ] [ filename>> ] [ temp-file>> ] tri <mime-file> ]
         [ content-disposition>> "name" of unquote ]
         [ mime-parts>> set-at ] tri
     ] if ;
@@ -129,7 +131,7 @@ ERROR: unknown-content-disposition multipart ;
 ERROR: no-content-disposition multipart ;
 
 : process-header ( multipart -- multipart )
-    "content-disposition" over header>> at ";" split1 swap {
+    dup "content-disposition" header ";" split1 swap {
         { "form-data" [
             parse-content-disposition-form-data >>content-disposition
             parse-form-data