snap-predicates-0.2.0: src/Snap/Predicates/Error.hs
{-# LANGUAGE BangPatterns #-}
module Snap.Predicates.Error where
import Data.ByteString (ByteString)
import Data.Word
-- | The error type used as 'F' meta-data in all snap predicates.
data Error = Error
{ _status :: !Word -- ^ (HTTP) status code
, _message :: !(Maybe ByteString) -- ^ optional status message
} deriving (Eq, Show)
-- | Convenience function to construct 'Error' values from
-- status code and status message.
err :: Word -> ByteString -> Error
err s = Error s . Just