From 90f9671e00d8421247f272fa283d76c9bf791043 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 10 Oct 2022 16:31:08 -0400 Subject: [PATCH] future proof AWS.Credentials generation Avoid breaking when a field is added to the constructor. Sponsored-by: Dartmouth College's DANDI project --- Remote/S3.hs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Remote/S3.hs b/Remote/S3.hs index 2b6580d69d..1f0ebd3d5a 100644 --- a/Remote/S3.hs +++ b/Remote/S3.hs @@ -33,7 +33,6 @@ import Network.HTTP.Types import Network.URI import Control.Monad.Trans.Resource import Control.Monad.Catch -import Data.IORef import Control.Concurrent.STM (atomically) import Control.Concurrent.STM.TVar import Data.Maybe @@ -1071,11 +1070,10 @@ genericPublicUrl baseurl p = skipescape c = isUnescapedInURIComponent c genCredentials :: CredPair -> IO AWS.Credentials -genCredentials (keyid, secret) = AWS.Credentials - <$> pure (tobs keyid) - <*> pure (tobs secret) - <*> newIORef [] - <*> (fmap tobs <$> getEnv "AWS_SESSION_TOKEN") +genCredentials (keyid, secret) = do + cr <- AWS.makeCredentials (tobs keyid) (tobs secret) + tk <- fmap tobs <$> getEnv "AWS_SESSION_TOKEN" + return (cr { AWS.iamToken = tk }) where tobs = T.encodeUtf8 . T.pack -- 2.30.2