sends 404s if we can't find the package rather than just blowing up and going 500

This commit is contained in:
Keagan McClelland
2021-11-23 14:09:11 -07:00
parent 2a3069818f
commit c6acbd383c
2 changed files with 12 additions and 5 deletions

View File

@@ -75,7 +75,9 @@ getAppR file = do
`orThrow` sendResponseStatus status404 (NotFoundE [i|#{pkg} satisfying #{versionSpec}|])
addPackageHeader pkg version
void $ recordMetrics pkg version
(len, src) <- getPackage pkg version
(len, src) <- getPackage pkg version >>= \case
Nothing -> sendResponseStatus status404 ([i|#{pkg}@#{version} not found|] :: Text)
Just a -> pure a
addHeader "Content-Length" (show len)
respondSource typeOctet $ src .| awaitForever sendChunkBS