git.iko.soy/typeable/minio-hs
on master help sign in
Added x-amz-acl
commitf3ad8fa9b98e0288cc3bae14558347bea03e1a04 authoriko <mail@iko.soy> dateWed 23 Oct 2024, 13:38 (2 years ago) parent9b23b33
2 files changed+13−3
src/Network/Minio.hs+2 src/Network/Minio/Data.hs+11−3
src/Network/Minio.hs+2
@@ -150,6 +150,7 @@ module Network.Minio
150150 pooStorageClass,
151151 pooUserMetadata,
152152 pooNumThreads,
153+ pooAccessControlPolicy,
153154 pooSSE,
154155 getObject,
155156 GetObjectOptions,
@@ -163,6 +164,7 @@ module Network.Minio
163164 GetObjectResponse,
164165 gorObjectInfo,
165166 gorObjectStream,
167+ AccessControlPolicy(..),
166168
167169 -- ** Server-side object copying
168170 copyObject,
src/Network/Minio/Data.hs+11−3
@@ -372,13 +372,17 @@ data PutObjectOptions = PutObjectOptions
372372 pooUserMetadata :: [(Text, Text)],
373373 -- | Set number of worker threads used to upload an object.
374374 pooNumThreads :: Maybe Word,
375+ -- | Set the object access control policy
376+ pooAccessControlPolicy :: Maybe AccessControlPolicy,
375377 -- | Set object encryption parameters for the request.
376378 pooSSE :: Maybe SSE
377379 }
378380
381+data AccessControlPolicy = Private | PublicRead
382+
379383-- | Provide default `PutObjectOptions`.
380384defaultPutObjectOptions :: PutObjectOptions
381−defaultPutObjectOptions = PutObjectOptions Nothing Nothing Nothing Nothing Nothing Nothing [] Nothing Nothing
385+defaultPutObjectOptions = PutObjectOptions Nothing Nothing Nothing Nothing Nothing Nothing [] Nothing Nothing Nothing
382386
383387pooToHeaders :: PutObjectOptions -> [HT.Header]
384388pooToHeaders poo =
@@ -395,7 +399,8 @@ pooToHeaders poo =
395399 "content-disposition",
396400 "content-language",
397401 "cache-control",
398− "x-amz-storage-class"
402+ "x-amz-storage-class",
403+ "x-amz-acl"
399404 ]
400405 values =
401406 map
@@ -405,7 +410,10 @@ pooToHeaders poo =
405410 pooContentDisposition,
406411 pooContentLanguage,
407412 pooCacheControl,
408− pooStorageClass
413+ pooStorageClass,
414+ pooAccessControlPolicy >>> fmap (\x -> case x of
415+ Private -> "private"
416+ PublicRead -> "public-read")
409417 ]
410418
411419-- |