-- | Common handler functions.
module Handler.Common where

import Data.FileEmbed (embedFile)
import Import hiding (embedFile)

-- These handlers embed files in the executable at compile time to avoid a
-- runtime dependency, and for efficiency.

getFaviconR :: Handler TypedContent
getFaviconR = do
  let content = $(embedFile "static/favicon.ico")

  setEtagHashable content

  return $ TypedContent "image/x-icon"
         $ toContent content

getRobotsR :: Handler TypedContent
getRobotsR = do
  let content = $(embedFile "static/robots.txt")

  setEtagHashable content
  
  return $ TypedContent typePlain
         $ toContent content
