github-backup-1.20160319: Github/GetAuth.hs
module Github.GetAuth where
import Utility.Env
import Utility.Monad
import qualified GitHub.Auth as Github
import Data.Text.Encoding (encodeUtf8)
import qualified Data.Text as T
import qualified Data.ByteString.UTF8 as B
getAuth :: IO (Maybe Github.Auth)
getAuth = getM id
[ do
user <- getEnv "GITHUB_USER"
password <- getEnv "GITHUB_PASSWORD"
return $ case (user, password) of
(Just u, Just p) -> Just $
Github.BasicAuth (tobs u) (tobs p)
_ -> Nothing
, do
oauthtoken <- getEnv "GITHUB_OAUTH_TOKEN"
return $ case oauthtoken of
Just t -> Just $ Github.OAuth (B.fromString t)
Nothing -> Nothing
]
where
tobs = encodeUtf8 . T.pack