From f429cbc0d56dc8426285bc2d5ca7301ec241da98 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Mon, 7 Feb 2022 16:05:55 +0100 Subject: non-blocking server --- server/Serverconfig.hs | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 server/Serverconfig.hs (limited to 'server/Serverconfig.hs') 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 } -- cgit v1.2.3