diff options
author | stuebinm | 2022-02-07 16:05:55 +0100 |
---|---|---|
committer | stuebinm | 2022-03-19 19:26:16 +0100 |
commit | 24e5ccd98aa33250327d36e3859c461699026859 (patch) | |
tree | 14f28273160c48c47d577ea2da1341457f256da0 /server/Serverconfig.hs | |
parent | 9e3783d04284f25571a744755a82afbd7e2c6534 (diff) |
non-blocking server
Diffstat (limited to 'server/Serverconfig.hs')
-rw-r--r-- | server/Serverconfig.hs | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/server/Serverconfig.hs b/server/Serverconfig.hs deleted file mode 100644 index d919567..0000000 --- a/server/Serverconfig.hs +++ /dev/null @@ -1,45 +0,0 @@ -{-# LANGUAGE DataKinds #-} -{-# LANGUAGE DeriveAnyClass #-} -{-# LANGUAGE DeriveGeneric #-} -{-# LANGUAGE KindSignatures #-} -{-# LANGUAGE RankNTypes #-} -{-# LANGUAGE ScopedTypeVariables #-} -{-# LANGUAGE TypeApplications #-} -{-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE TypeOperators #-} - -module Serverconfig (loadConfig, Config(..), RemoteRef(..)) where - -import Data.Aeson (FromJSON, eitherDecode) -import qualified Data.ByteString.Lazy as LB -import Data.Text (Text) -import GHC.Generics (Generic) -import LintConfig (LintConfig') - --- | a reference in a remote git repository -data RemoteRef = RemoteRef - { repourl :: Text - , reporef :: Text - } deriving (Generic, FromJSON) - -type family ConfigRes (b :: Bool) a where - ConfigRes True a = a - ConfigRes False a = FilePath - --- | the server's configuration -data Config l = Config - { tmpdir :: FilePath - -- ^ dir to clone git things in - , port :: Int - -- ^ port to bind to - , entrypoint :: FilePath - , lintconfig :: ConfigRes l LintConfig' - } - -loadConfig :: Config False -> IO (Config True) -loadConfig config = do - loaded <- LB.readFile (lintconfig config) >>= \res -> - case eitherDecode res :: Either String LintConfig' of - Left err -> error $ "config file invalid: " <> err - Right file -> pure file - pure $ config { lintconfig = loaded } |