Copyright | (c) 2019-2022 Vaclav Svejcar |
---|---|
License | BSD-3-Clause |
Maintainer | vaclav.svejcar@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
This module provides logic for working with the cofiguration data types. Headroom uses the partial options monoid pattern for the configuration.
Synopsis
- loadAppConfig :: (MonadIO m, MonadThrow m) => FilePath -> m PtAppConfig
- parseAppConfig :: MonadThrow m => ByteString -> m PtAppConfig
- makeAppConfig :: MonadThrow m => PtAppConfig -> m CtAppConfig
- makeHeadersConfig :: MonadThrow m => PtHeadersConfig -> m CtHeadersConfig
- makeHeaderConfig :: MonadThrow m => FileType -> PtHeaderConfig -> m CtHeaderConfig
Loading & Parsing Configuration
loadAppConfig :: (MonadIO m, MonadThrow m) => FilePath -> m PtAppConfig Source #
Loads and parses application configuration from given YAML file.
:: MonadThrow m | |
=> ByteString | raw input to parse |
-> m PtAppConfig | parsed application configuration |
Parses application configuration from given raw input in YAML format.
Processing Partial Configuration
:: MonadThrow m | |
=> PtAppConfig | source |
-> m CtAppConfig | full |
Makes full CtAppConfig
from provided PtAppConfig
(if valid).
:: MonadThrow m | |
=> PtHeadersConfig | source |
-> m CtHeadersConfig | full |
Makes full CtHeadersConfig
from provided PtHeadersConfig
(if valid).
:: MonadThrow m | |
=> FileType | determines file type of configuration |
-> PtHeaderConfig | source |
-> m CtHeaderConfig | full |
Makes full CtHeaderConfig
from provided PtHeaderConfig
(if valid).