{-# 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