From 9d0c6677e36617c290f2081ca31019552dfa211a Mon Sep 17 00:00:00 2001 From: Keagan McClelland Date: Thu, 14 Oct 2021 12:02:50 -0600 Subject: [PATCH 1/2] fixes lack of content length in eos image download --- src/Handler/Marketplace.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Handler/Marketplace.hs b/src/Handler/Marketplace.hs index f39eca2..4e93030 100644 --- a/src/Handler/Marketplace.hs +++ b/src/Handler/Marketplace.hs @@ -108,6 +108,7 @@ import Network.HTTP.Types ( status400 ) import Protolude.Unsafe ( unsafeFromJust ) import Settings ( AppSettings(registryHostname, resourcesDir) ) +import System.Directory ( getFileSize ) import System.FilePath ( () ) import UnliftIO.Async ( concurrently , mapConcurrently @@ -124,6 +125,7 @@ import Yesod.Core ( HandlerFor , ToTypedContent(..) , TypedContent , YesodRequest(..) + , addHeader , getRequest , getsYesod , logWarn @@ -131,6 +133,7 @@ import Yesod.Core ( HandlerFor , respondSource , sendChunkBS , sendResponseStatus + , setHeader , typeOctet ) import Yesod.Persist.Core ( YesodPersist(runDB) ) @@ -321,6 +324,7 @@ getEosR = do Nothing -> sendResponseStatus status404 (NotFoundE [i|EOS version satisfying #{spec}|]) Just r -> do let imgPath = root show r "eos.img" + liftIO (getFileSize imgPath) >>= addHeader "Content-Length" . show respondSource typeOctet (sourceFile imgPath .| awaitForever sendChunkBS) getVersionLatestR :: Handler VersionLatestRes From d3b2a8837d5a8c9de679e62dcc860028283f3251 Mon Sep 17 00:00:00 2001 From: Keagan McClelland Date: Thu, 14 Oct 2021 12:43:33 -0600 Subject: [PATCH 2/2] remove unnecessary import --- src/Handler/Marketplace.hs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Handler/Marketplace.hs b/src/Handler/Marketplace.hs index 4e93030..9f3e566 100644 --- a/src/Handler/Marketplace.hs +++ b/src/Handler/Marketplace.hs @@ -133,7 +133,6 @@ import Yesod.Core ( HandlerFor , respondSource , sendChunkBS , sendResponseStatus - , setHeader , typeOctet ) import Yesod.Persist.Core ( YesodPersist(runDB) )