stackage-server/Handler/HackageSdist.hs
2014-04-10 10:59:58 +03:00

20 lines
605 B
Haskell

module Handler.HackageSdist where
import Import
import Data.Hackage
getHackageSdistR :: PackageName -> Version -> Handler TypedContent
getHackageSdistR name version = do
msrc <- sourceHackageSdist name version
case msrc of
Nothing -> notFound
Just src -> do
addHeader "content-disposition" $ concat
[ "attachment; filename=\""
, toPathPiece name
, "-"
, toPathPiece version
, ".tar.gz"
]
respondSource "application/x-gzip" $ mapOutput (Chunk . toBuilder) src