Fix tests & restore Common handlers
This commit is contained in:
parent
c10dcde04a
commit
d2e10b8306
@ -1,10 +1,26 @@
|
|||||||
-- | Common handler functions.
|
-- | Common handler functions.
|
||||||
module Handler.Common where
|
module Handler.Common where
|
||||||
|
|
||||||
import Import
|
import Data.FileEmbed (embedFile)
|
||||||
|
import Import hiding (embedFile)
|
||||||
|
|
||||||
getFaviconR :: Handler ()
|
-- These handlers embed files in the executable at compile time to avoid a
|
||||||
getFaviconR = redirectWith movedPermanently301 $ StaticR favicon_ico
|
-- runtime dependency, and for efficiency.
|
||||||
|
|
||||||
getRobotsR :: Handler ()
|
getFaviconR :: Handler TypedContent
|
||||||
getRobotsR = redirectWith movedPermanently301 $ StaticR robots_txt
|
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
|
||||||
|
|||||||
@ -73,8 +73,6 @@ import Data.Ratio ((%))
|
|||||||
|
|
||||||
import qualified Data.Binary as Binary
|
import qualified Data.Binary as Binary
|
||||||
|
|
||||||
import qualified Data.ByteString.Base64.URL as Base64 (encode)
|
|
||||||
|
|
||||||
import Network.Wai (requestMethod)
|
import Network.Wai (requestMethod)
|
||||||
|
|
||||||
import Data.Time.Clock
|
import Data.Time.Clock
|
||||||
@ -778,7 +776,7 @@ setLastModified lastModified = do
|
|||||||
when (rMethod `elem` safeMethods) $ do
|
when (rMethod `elem` safeMethods) $ do
|
||||||
ifModifiedSince <- (=<<) (parseTimeM True defaultTimeLocale "%a, %d %b %Y %X %Z" . unpack <=< either (const Nothing) Just . Text.decodeUtf8') <$> lookupHeader "If-Modified-Since"
|
ifModifiedSince <- (=<<) (parseTimeM True defaultTimeLocale "%a, %d %b %Y %X %Z" . unpack <=< either (const Nothing) Just . Text.decodeUtf8') <$> lookupHeader "If-Modified-Since"
|
||||||
$logDebugS "LastModified" $ tshow (lastModified, ifModifiedSince)
|
$logDebugS "LastModified" $ tshow (lastModified, ifModifiedSince)
|
||||||
when (maybe False ((lastModified <=) . addUTCTime precision) ifModifiedSince) $
|
when (maybe False ((lastModified <=) . addUTCTime precision) ifModifiedSince)
|
||||||
notModified
|
notModified
|
||||||
|
|
||||||
addHeader "Last-Modified" $ formatRFC1123 lastModified
|
addHeader "Last-Modified" $ formatRFC1123 lastModified
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user