@@ -105,7 +105,7 @@ type Api =
105105 "get" :> Get '[JSON] Person
106106 :<|> "deleteEmpty" :> DeleteNoContent '[JSON] NoContent
107107 :<|> "capture" :> Capture "name" String :> Get '[JSON,FormUrlEncoded] Person
108− :<|> "captureAll" :> CaptureAll "names" String :> Get '[JSON] Person
108+ :<|> "captureAll" :> CaptureAll "names" String :> Get '[JSON] [Person]
109109 :<|> "body" :> ReqBody '[FormUrlEncoded,JSON] Person :> Post '[JSON] Person
110110 :<|> "param" :> QueryParam "name" String :> Get '[FormUrlEncoded,JSON] Person
111111 :<|> "params" :> QueryParams "names" String :> Get '[JSON] [Person]
@@ -126,7 +126,7 @@ api = Proxy
126126getGet :: C.Manager -> BaseUrl -> SCR.ClientM Person
127127getDeleteEmpty :: C.Manager -> BaseUrl -> SCR.ClientM NoContent
128128getCapture :: String -> C.Manager -> BaseUrl -> SCR.ClientM Person
129−getCaptureAll :: [String] -> C.Manager -> BaseUrl -> SCR.ClientM Person
129+getCaptureAll :: [String] -> C.Manager -> BaseUrl -> SCR.ClientM [Person]
130130getBody :: Person -> C.Manager -> BaseUrl -> SCR.ClientM Person
131131getQueryParam :: Maybe String -> C.Manager -> BaseUrl -> SCR.ClientM Person
132132getQueryParams :: [String] -> C.Manager -> BaseUrl -> SCR.ClientM [Person]
@@ -158,7 +158,7 @@ server = serve api (
158158 return alice
159159 :<|> return NoContent
160160 :<|> (\ name -> return $ Person name 0)
161− :<|> (\ (name : _) -> return $ Person name 0)
161+ :<|> (\ names -> return (zipWith Person names [0..]))
162162 :<|> return
163163 :<|> (\ name -> case name of
164164 Just "alice" -> return alice
@@ -255,7 +255,8 @@ sucessSpec = beforeAll (startWaiApp server) $ afterAll endWaiApp $ do
255255 (left show <$> runExceptT (getCapture "Paula" manager baseUrl)) `shouldReturn` Right (Person "Paula" 0)
256256
257257 it "Servant.API.CaptureAll" $ \(_, baseUrl) -> do
258− (left show <$> runExceptT (getCaptureAll ["Paula", "Peta"] manager baseUrl)) `shouldReturn` Right (Person "Paula" 0)
258+ let expected = [(Person "Paula" 0), (Person "Peta" 1)]
259+ (left show <$> runExceptT (getCaptureAll ["Paula", "Peta"] manager baseUrl)) `shouldReturn` Right expected
259260
260261 it "Servant.API.ReqBody" $ \(_, baseUrl) -> do
261262 let p = Person "Clara" 42