mirror of
https://github.com/Start9Labs/registry.git
synced 2026-03-30 11:51:57 +00:00
add configurable setting to enable running app for tor
This commit is contained in:
@@ -34,7 +34,7 @@ import Database.Persist.Postgresql (createPostgresqlPool, pg
|
||||
import Language.Haskell.TH.Syntax (qLocation)
|
||||
import Network.Wai
|
||||
import Network.Wai.Handler.Warp (Settings, defaultSettings, defaultShouldDisplayException,
|
||||
getPort, setHost, setOnException, setPort)
|
||||
getPort, setHost, setOnException, setPort, run)
|
||||
import Network.Wai.Handler.WarpTLS
|
||||
import Network.Wai.Middleware.AcceptOverride
|
||||
import Network.Wai.Middleware.Autohead
|
||||
@@ -202,10 +202,12 @@ startWeb foundation = do
|
||||
startWeb' app = do
|
||||
let AppSettings{..} = appSettings foundation
|
||||
putStrLn @Text $ "Launching Web Server on port " <> show appPort
|
||||
action <- async $ runTLS
|
||||
(tlsSettings sslCertLocation sslKeyLocation)
|
||||
(warpSettings foundation)
|
||||
app
|
||||
action <- async $ if enableTor
|
||||
then run (fromIntegral appPort) app
|
||||
else runTLS
|
||||
(tlsSettings sslCertLocation sslKeyLocation)
|
||||
(warpSettings foundation)
|
||||
app
|
||||
|
||||
setWebProcessThreadId (asyncThreadId action) foundation
|
||||
void $ waitCatch action
|
||||
|
||||
@@ -53,6 +53,7 @@ data AppSettings = AppSettings
|
||||
, sslKeyLocation :: FilePath
|
||||
, sslCsrLocation :: FilePath
|
||||
, sslCertLocation :: FilePath
|
||||
, enableTor :: Bool
|
||||
}
|
||||
|
||||
instance FromJSON AppSettings where
|
||||
@@ -67,6 +68,7 @@ instance FromJSON AppSettings where
|
||||
resourcesDir <- o .: "resources-path"
|
||||
sslPath <- o .: "ssl-path"
|
||||
registryHostname <- o .: "registry-hostname"
|
||||
enableTor <- o .: "enable-tor"
|
||||
|
||||
let sslKeyLocation = sslPath </> "key.pem"
|
||||
let sslCsrLocation = sslPath </> "certificate.csr"
|
||||
|
||||
Reference in New Issue
Block a user