content: -- | Contains web handlers to serve files from a directory.
  --
  -- Example usage:
  --
  -- @
  -- {-# LANGUAGE OverloadedStrings #-}
  --
  -- module Main where
  --
  -- import "Snap.Core"           (Snap, route)
  -- import "Snap.Http.Server"    (quickHttpServe)
  -- import "Snap.Util.FileServe"
  --
  -- site :: Snap ()
  -- site = 'Snap.Core.route'
  --   [ (\"\/files\",   'serveDirectory'                            \"static\")
  --   , (\"\/simple\",  'serveDirectoryWith' 'simpleDirectoryConfig'  \"static\")
  --   , (\"\/default\", 'serveDirectoryWith' 'defaultDirectoryConfig' \"static\")
  --   , (\"\/fancy\",   'serveDirectoryWith' 'fancyDirectoryConfig'   \"static\")
  --   , (\"\/paper\",   'serveFile'                                 \"static\/paper.pdf\")
  --   , (\"\/thesis\",  'serveFileAs'        \"application\/pdf\"      \"static\/thesis.pdf\")
  --   ]
  --
  -- main :: IO ()
  -- main = 'Snap.Http.Server.quickHttpServe' site
  -- @
  module Snap.Util.FileServe
    ( -- * Helper functions
      getSafePath
      -- * Configuration for directory serving
    , MimeMap
    , HandlerMap
    , DirectoryConfig(..)
    , simpleDirectoryConfig
    , defaultDirectoryConfig
    , fancyDirectoryConfig
    , defaultIndexGenerator
    , defaultMimeTypes
    , fileType
      -- * File servers
    , serveDirectory
    , serveDirectoryWith
    , serveFile
    , serveFileAs
    ) where
  
  import           Snap.Internal.Util.FileServe (DirectoryConfig (..), HandlerMap, MimeMap, defaultDirectoryConfig, defaultIndexGenerator, defaultMimeTypes, fancyDirectoryConfig, fileType, getSafePath, serveDirectory, serveDirectoryWith, serveFile, serveFileAs, simpleDirectoryConfig)
  