on master help sign in
Test missing content-length
7848981Michael Snoyman
wai-extra/test/WaiExtraTest.hs+10−6
@@ -59,7 +59,9 @@ specs = do
59 it "method override" caseMethodOverride
59 it "method override" caseMethodOverride
60 it "method override post" caseMethodOverridePost
60 it "method override post" caseMethodOverridePost
61 it "accept override" caseAcceptOverride
61 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
63 it "debug request body" caseDebugRequestBody
65 it "debug request body" caseDebugRequestBody
64
66
65caseParseQueryString :: Assertion
67caseParseQueryString :: Assertion
@@ -430,11 +432,10 @@ caseAcceptOverride = flip runSession aoApp $ do
430 }
432 }
431 assertHeader "Accept" "baz" sres3
433 assertHeader "Accept" "baz" sres3
432
434
433−caseDalvikMultipart :: Assertion
435+dalvikHelper :: Bool -> Assertion
434−caseDalvikMultipart = do
436+dalvikHelper includeLength = do
435− let headers =
437+ let headers' =
436− [ ("content-length", "12098")
437− , ("content-type", "multipart/form-data;boundary=*****")
438+ [ ("content-type", "multipart/form-data;boundary=*****")
438 , ("GATEWAY_INTERFACE", "CGI/1.1")
439 , ("GATEWAY_INTERFACE", "CGI/1.1")
439 , ("PATH_INFO", "/")
440 , ("PATH_INFO", "/")
440 , ("QUERY_STRING", "")
441 , ("QUERY_STRING", "")
@@ -450,6 +451,9 @@ caseDalvikMultipart = do
450 , ("HTTP_VERSION", "HTTP/1.1")
451 , ("HTTP_VERSION", "HTTP/1.1")
451 , ("REQUEST_PATH", "/")
452 , ("REQUEST_PATH", "/")
452 ]
453 ]
454+ headers
455+ | includeLength = ("content-length", "12098") : headers'
456+ | otherwise = headers'
453 let request' = defaultRequest
457 let request' = defaultRequest
454 { requestHeaders = headers
458 { requestHeaders = headers
455 }
459 }