{-# LANGUAGE TemplateHaskell #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module Regfish.Default () where import Data.Default import Regfish.Types import System.Environment (getEnv) import System.IO.Unsafe (unsafePerformIO) instance Default RFConfig where def = RFConfig { _username = user , _password = pass , _allinone = mkAllInOne domain } where (user, pass, domain) = unsafePerformIO $ (,,) <$> getEnv "REGFISH_USER" <*> getEnv "REGFISH_PASS" <*> getEnv "REGFISH_DOMAIN" instance Default RFState where def = RFState mempty mkAllInOne :: String -> String mkAllInOne domain = "https://www.regfish.de/my/domains/*/"++tld++"/"++sld++"/rr/allinone" where (sld, '.':tld) = break (=='.') domain