@@ -9,6 +9,7 @@ module Network.Wai.Test
99 , SRequest (..)
1010 , SResponse (..)
1111 , defaultRequest
12+ , setRawPathInfo
1213 -- * Assertions
1314 , assertStatus
1415 , assertContentType
@@ -33,6 +34,8 @@ import qualified Data.ByteString.Lazy.Char8 as L8
3334import qualified Network.HTTP.Types as H
3435import Data.CaseInsensitive (CI)
3536import qualified Data.ByteString as S
37+import qualified Data.Text as T
38+import qualified Data.Text.Encoding as TE
3639import qualified Data.Conduit as C
3740import qualified Data.Conduit.List as CL
3841import Data.Monoid (mempty)
@@ -79,6 +82,11 @@ defaultRequest = Request
7982 , vault = mempty
8083 }
8184
85+setRawPathInfo :: Request -> S8.ByteString -> Request
86+setRawPathInfo r rawPinfo =
87+ let pInfo = T.split (== '/') $ TE.decodeUtf8 rawPinfo
88+ in r { rawPathInfo = rawPinfo, pathInfo = pInfo }
89+
8290srequest :: SRequest -> Session SResponse
8391srequest (SRequest req bod) = do
8492 app <- ask