packages feed

servant-auth-server-0.2.1.0: src/Servant/Auth/Server/SetCookieOrphan.hs

{-# OPTIONS_GHC -fno-warn-orphans #-}
module Servant.Auth.Server.SetCookieOrphan () where

import Blaze.ByteString.Builder (toByteString)
import Data.Text.Encoding       (decodeUtf8, encodeUtf8)
import Web.Cookie               (SetCookie, parseSetCookie, renderSetCookie)
import Web.HttpApiData          (FromHttpApiData (..), ToHttpApiData (..))
import Data.ByteString.Conversion (ToByteString(..))

instance FromHttpApiData SetCookie where
    parseUrlPiece = parseHeader . encodeUtf8
    parseHeader = Right . parseSetCookie

instance ToHttpApiData SetCookie where
    toUrlPiece = decodeUtf8 . toHeader
    toHeader = toByteString . renderSetCookie

instance ToByteString SetCookie where
    builder = renderSetCookie