snap-predicates-0.2.0: src/Snap/Predicates/Internal.hs
module Snap.Predicates.Internal
( headers
, params
, safeHead
)
where
import Snap.Core hiding (headers)
import Data.ByteString (ByteString)
import Data.CaseInsensitive (mk)
import qualified Data.Map.Strict as M
headers :: Request -> ByteString -> [ByteString]
headers rq name = maybe [] id . getHeaders (mk name) $ rq
params :: Request -> ByteString -> [ByteString]
params rq name = maybe [] id . M.lookup name . rqParams $ rq
safeHead :: [a] -> Maybe a
safeHead [] = Nothing
safeHead (h:_) = Just h