hw-uri-0.2.0.0: src/HaskellWorks/Data/Uri/Status.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeApplications #-}
module HaskellWorks.Data.Uri.Status
( Status(..)
, fromHttpStatus
) where
import Control.DeepSeq
import Data.ByteString (ByteString)
import Data.Typeable
import GHC.Generics
import qualified Network.HTTP.Types.Status as HTTP
data Status = Status
{ statusCode :: Int
, statusMessage :: ByteString
} deriving (Show, Typeable, Generic, NFData)
instance Eq Status where
Status { statusCode = a } == Status { statusCode = b } = a == b
instance Ord Status where
compare Status { statusCode = a } Status { statusCode = b } = a `compare` b
fromHttpStatus :: HTTP.Status -> Status
fromHttpStatus s = Status
{ statusCode = HTTP.statusCode s
, statusMessage = HTTP.statusMessage s
}