! Copyright (C) 2009 John Benediktsson
! See http://factorcode.org/license.txt for BSD license
-USING: cgi cgi.private kernel tools.test ;
+USING: cgi cgi.private kernel linked-assocs tools.test ;
-{ t } [ H{ } "" (query-string) = ] unit-test
+{ LH{ } } [ "" (query-string) ] unit-test
-{ t } [ H{ { "a" { "1" } } { "b" { "2" } } }
- "a=1&b=2" (query-string) = ] unit-test
+{ LH{ { "a" { "1" } } { "b" { "2" } } } }
+[ "a=1&b=2" (query-string) ] unit-test
-{ t } [ H{ { "a" { "1" } } { "b" { "2" "3" } } }
- "a=1&b=2&b=3" (query-string) = ] unit-test
+{ LH{ { "a" { "1" } } { "b" { "2" "3" } } } }
+[ "a=1&b=2&b=3" (query-string) ] unit-test
-{ t } [ "text/html" (content-type)
- [ H{ } = ] [ "text/html" = ] bi* and ] unit-test
+{ LH{ } "text/html" } [ "text/html" (content-type) ] unit-test
-{ t } [ "text/html; charset=utf-8" (content-type)
- [ H{ { "charset" { "utf-8" } } } = ]
- [ "text/html" = ] bi* and ] unit-test
+{ LH{ { "charset" { "utf-8" } } } "text/html" }
+[ "text/html; charset=utf-8" (content-type) ] unit-test
! See http://factorcode.org/license.txt for BSD license
USING: arrays assocs combinators environment io kernel
-math.parser regexp sequences splitting strings unicode.case
-urls.encoding ;
+linked-assocs math.parser regexp sequences splitting strings
+unicode.case urls.encoding ;
IN: cgi
: (content-type) ( string -- params media/type )
";" split unclip [
- [ H{ } clone ] [ first (query-string) ] if-empty
+ [ LH{ } clone ] [ first (query-string) ] if-empty
] dip ;
: (multipart) ( -- assoc )