mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-02-06 16:17:27 +01:00
Don't force SSL for tarballs (for cabal-install support)
This commit is contained in:
parent
46c3364a19
commit
6a5a29672d
@ -10,7 +10,7 @@ import Control.Exception (catch)
|
|||||||
import Data.WebsiteContent
|
import Data.WebsiteContent
|
||||||
import Import hiding (catch)
|
import Import hiding (catch)
|
||||||
import Language.Haskell.TH.Syntax (Loc(..))
|
import Language.Haskell.TH.Syntax (Loc(..))
|
||||||
import Network.Wai (Middleware, responseLBS)
|
import Network.Wai (Middleware, responseLBS, rawPathInfo)
|
||||||
import Network.Wai.Logger (clockDateCacher)
|
import Network.Wai.Logger (clockDateCacher)
|
||||||
import Network.Wai.Middleware.ForceSSL (forceSSL)
|
import Network.Wai.Middleware.ForceSSL (forceSSL)
|
||||||
import Network.Wai.Middleware.RequestLogger
|
import Network.Wai.Middleware.RequestLogger
|
||||||
@ -89,9 +89,14 @@ makeApplication echo@False conf = do
|
|||||||
return (middleware app, logFunc)
|
return (middleware app, logFunc)
|
||||||
|
|
||||||
forceSSL' :: AppConfig DefaultEnv Extra -> Middleware
|
forceSSL' :: AppConfig DefaultEnv Extra -> Middleware
|
||||||
forceSSL' app
|
forceSSL' ac app
|
||||||
| extraForceSsl $ appExtra app = forceSSL
|
| extraForceSsl $ appExtra ac = \req send ->
|
||||||
| otherwise = id
|
-- Don't force SSL for tarballs, to provide 00-index.tar.gz and package
|
||||||
|
-- tarball access for cabal-install
|
||||||
|
if ".tar.gz" `isSuffixOf` rawPathInfo req
|
||||||
|
then app req send
|
||||||
|
else forceSSL app req send
|
||||||
|
| otherwise = app
|
||||||
|
|
||||||
nicerExceptions :: Middleware
|
nicerExceptions :: Middleware
|
||||||
nicerExceptions app req send = catch (app req send) $ \e -> do
|
nicerExceptions app req send = catch (app req send) $ \e -> do
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user