wai-predicates-0.1: src/Network/Wai/Predicate/Utility.hs
-- This Source Code Form is subject to the terms of the Mozilla Public
-- License, v. 2.0. If a copy of the MPL was not distributed with this
-- file, You can obtain one at http://mozilla.org/MPL/2.0/.
{-# LANGUAGE OverloadedStrings #-}
module Network.Wai.Predicate.Utility (readValues) where
import Data.ByteString (ByteString)
import Data.ByteString.From
import Data.List (foldl')
import Data.String (fromString)
readValues :: FromByteString a => [ByteString] -> Either ByteString a
readValues = foldl' res (Left "no parse") . map (runParser parser)
where
res (Left _) (Right x) = Right x
res (Right x) _ = Right x
res _ (Left x) = Left (fromString x)