{- This file is part of Vervis. - - Written in 2016 by fr33domlover . - - ♡ Copying is an act of love. Please copy, reuse and share. - - The author(s) have dedicated all copyright and related and neighboring - rights to this software to the public domain worldwide. This software is - distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with this software. If not, see - . -} -- | Custom HTTP response content types. module Vervis.Content ( GitRefDiscovery (..) ) where import Prelude import Data.Monoid ((<>)) import Yesod.Core.Content import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as BL data GitRefDiscovery = GitRefDiscovery { grdContent :: BL.ByteString , grdService :: B.ByteString } instance ToContent GitRefDiscovery where toContent (GitRefDiscovery c _) = toContent c instance ToTypedContent GitRefDiscovery where toTypedContent grd@(GitRefDiscovery _ s) = let t = "application/x-" <> s <> "-advertisement" c = toContent grd in TypedContent t c