mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-12 04:08:29 +01:00
Track downloads
This commit is contained in:
parent
493c612cbd
commit
25fa854a84
@ -2,9 +2,11 @@ module Handler.HackageViewSdist where
|
||||
|
||||
import Import
|
||||
import Data.Hackage
|
||||
import Handler.StackageSdist (addDownload)
|
||||
|
||||
getHackageViewSdistR :: HackageView -> PackageNameVersion -> Handler TypedContent
|
||||
getHackageViewSdistR viewName (PackageNameVersion name version) = do
|
||||
addDownload Nothing (Just viewName) name version
|
||||
msrc <- sourceHackageViewSdist viewName name version
|
||||
case msrc of
|
||||
Nothing -> notFound
|
||||
|
||||
@ -6,6 +6,7 @@ import Data.Hackage
|
||||
|
||||
getStackageSdistR :: PackageSetIdent -> PackageNameVersion -> Handler TypedContent
|
||||
getStackageSdistR ident (PackageNameVersion name version) = do
|
||||
addDownload (Just ident) Nothing name version
|
||||
msrc1 <- storeRead (CustomSdist ident name version)
|
||||
msrc <-
|
||||
case msrc1 of
|
||||
@ -22,3 +23,13 @@ getStackageSdistR ident (PackageNameVersion name version) = do
|
||||
, ".tar.gz"
|
||||
]
|
||||
respondSource "application/x-gzip" $ mapOutput (Chunk . toBuilder) src
|
||||
|
||||
addDownload :: Maybe PackageSetIdent
|
||||
-> Maybe HackageView
|
||||
-> PackageName
|
||||
-> Version
|
||||
-> Handler ()
|
||||
addDownload downloadIdent downloadView downloadPackage downloadVersion = do
|
||||
downloadUserAgent <- fmap decodeUtf8 <$> lookupHeader "user-agent"
|
||||
downloadTimestamp <- liftIO getCurrentTime
|
||||
runDB $ insert_ Download {..}
|
||||
|
||||
@ -39,3 +39,11 @@ Package
|
||||
name' PackageName sql=name
|
||||
version Version
|
||||
overwrite Bool
|
||||
|
||||
Download
|
||||
ident PackageSetIdent Maybe
|
||||
view HackageView Maybe
|
||||
timestamp UTCTime
|
||||
package PackageName
|
||||
version Version
|
||||
userAgent Text Maybe
|
||||
|
||||
@ -69,6 +69,7 @@ library
|
||||
PatternGuards
|
||||
StandaloneDeriving
|
||||
UndecidableInstances
|
||||
RecordWildCards
|
||||
|
||||
build-depends:
|
||||
base >= 4
|
||||
|
||||
Loading…
Reference in New Issue
Block a user