packages feed

scotty-0.30: examples/gzip.hs

{-# LANGUAGE OverloadedStrings #-}
module Main (main) where

import Network.Wai.Middleware.RequestLogger
import Network.Wai.Middleware.Gzip (defaultGzipSettings, GzipSettings(..), GzipFiles(..), gzip)

import Web.Scotty

main :: IO ()
main = scotty 3000 $ do
    -- Note that files are not gzip'd by the default settings.
    middleware $ gzip $ defaultGzipSettings { gzipFiles = GzipCompress }
    middleware logStdoutDev

    -- gzip a normal response
    get "/" $ text "It works"

    -- gzip a file response (note non-default gzip settings above)
    get "/afile" $ do
        setHeader "content-type" "text/plain"
        file "gzip.hs"