@@ -59,7 +59,9 @@ specs = do
5959 it "method override" caseMethodOverride
6060 it "method override post" caseMethodOverridePost
6161 it "accept override" caseAcceptOverride
62− it "dalvik multipart" caseDalvikMultipart
62+ describe "dalvik multipart" $ do
63+ it "non-chunked" $ dalvikHelper True
64+ it "chunked" $ dalvikHelper False
6365 it "debug request body" caseDebugRequestBody
6466
6567caseParseQueryString :: Assertion
@@ -430,11 +432,10 @@ caseAcceptOverride = flip runSession aoApp $ do
430432 }
431433 assertHeader "Accept" "baz" sres3
432434
433−caseDalvikMultipart :: Assertion
434−caseDalvikMultipart = do
435− let headers =
436− [ ("content-length", "12098")
437− , ("content-type", "multipart/form-data;boundary=*****")
435+dalvikHelper :: Bool -> Assertion
436+dalvikHelper includeLength = do
437+ let headers' =
438+ [ ("content-type", "multipart/form-data;boundary=*****")
438439 , ("GATEWAY_INTERFACE", "CGI/1.1")
439440 , ("PATH_INFO", "/")
440441 , ("QUERY_STRING", "")
@@ -450,6 +451,9 @@ caseDalvikMultipart = do
450451 , ("HTTP_VERSION", "HTTP/1.1")
451452 , ("REQUEST_PATH", "/")
452453 ]
454+ headers
455+ | includeLength = ("content-length", "12098") : headers'
456+ | otherwise = headers'
453457 let request' = defaultRequest
454458 { requestHeaders = headers
455459 }