Export ListUploadsResult and ListObjectsResult (#48)
Also take max-keys as an argument for listObjects' and max-uploads for listIncompleteUploads'.
This commit is contained in:
parent
e8a75a8fdb
commit
2e7984b71c
@ -233,7 +233,7 @@ data ObjectInfo = ObjectInfo {
|
|||||||
} deriving (Show, Eq)
|
} deriving (Show, Eq)
|
||||||
|
|
||||||
data CopyPartSource = CopyPartSource {
|
data CopyPartSource = CopyPartSource {
|
||||||
cpSource :: Text -- | formatted like "/sourceBucket/sourceObject"
|
cpSource :: Text -- | formatted like "\/sourceBucket\/sourceObject"
|
||||||
, cpSourceRange :: Maybe (Int64, Int64) -- | (0, 9) means first ten
|
, cpSourceRange :: Maybe (Int64, Int64) -- | (0, 9) means first ten
|
||||||
-- bytes of the source
|
-- bytes of the source
|
||||||
-- object
|
-- object
|
||||||
|
|||||||
@ -35,7 +35,7 @@ listObjects bucket prefix recurse = loop Nothing
|
|||||||
let
|
let
|
||||||
delimiter = bool (Just "/") Nothing recurse
|
delimiter = bool (Just "/") Nothing recurse
|
||||||
|
|
||||||
res <- lift $ listObjects' bucket prefix nextToken delimiter
|
res <- lift $ listObjects' bucket prefix nextToken delimiter Nothing
|
||||||
CL.sourceList $ lorObjects res
|
CL.sourceList $ lorObjects res
|
||||||
when (lorHasMore res) $
|
when (lorHasMore res) $
|
||||||
loop (lorNextToken res)
|
loop (lorNextToken res)
|
||||||
@ -53,7 +53,7 @@ listIncompleteUploads bucket prefix recurse = loop Nothing Nothing
|
|||||||
delimiter = bool (Just "/") Nothing recurse
|
delimiter = bool (Just "/") Nothing recurse
|
||||||
|
|
||||||
res <- lift $ listIncompleteUploads' bucket prefix delimiter
|
res <- lift $ listIncompleteUploads' bucket prefix delimiter
|
||||||
nextKeyMarker nextUploadIdMarker
|
nextKeyMarker nextUploadIdMarker Nothing
|
||||||
|
|
||||||
aggrSizes <- lift $ forM (lurUploads res) $ \(uKey, uId, _) -> do
|
aggrSizes <- lift $ forM (lurUploads res) $ \(uKey, uId, _) -> do
|
||||||
partInfos <- listIncompleteParts bucket uKey uId C.$$ CC.sinkList
|
partInfos <- listIncompleteParts bucket uKey uId C.$$ CC.sinkList
|
||||||
|
|||||||
@ -25,7 +25,7 @@ module Network.Minio.S3API
|
|||||||
|
|
||||||
-- * Listing objects
|
-- * Listing objects
|
||||||
--------------------
|
--------------------
|
||||||
, ListObjectsResult
|
, ListObjectsResult(..)
|
||||||
, listObjects'
|
, listObjects'
|
||||||
|
|
||||||
-- * Retrieving buckets
|
-- * Retrieving buckets
|
||||||
@ -54,7 +54,7 @@ module Network.Minio.S3API
|
|||||||
, copyObjectPart
|
, copyObjectPart
|
||||||
, completeMultipartUpload
|
, completeMultipartUpload
|
||||||
, abortMultipartUpload
|
, abortMultipartUpload
|
||||||
, ListUploadsResult
|
, ListUploadsResult(..)
|
||||||
, listIncompleteUploads'
|
, listIncompleteUploads'
|
||||||
, ListPartsResult(..)
|
, ListPartsResult(..)
|
||||||
, listIncompleteParts'
|
, listIncompleteParts'
|
||||||
@ -145,9 +145,9 @@ putObjectSingle bucket object headers h offset size = do
|
|||||||
|
|
||||||
-- | List objects in a bucket matching prefix up to delimiter,
|
-- | List objects in a bucket matching prefix up to delimiter,
|
||||||
-- starting from nextToken.
|
-- starting from nextToken.
|
||||||
listObjects' :: Bucket -> Maybe Text -> Maybe Text -> Maybe Text
|
listObjects' :: Bucket -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int
|
||||||
-> Minio ListObjectsResult
|
-> Minio ListObjectsResult
|
||||||
listObjects' bucket prefix nextToken delimiter = do
|
listObjects' bucket prefix nextToken delimiter maxKeys = do
|
||||||
resp <- executeRequest $ def { riMethod = HT.methodGet
|
resp <- executeRequest $ def { riMethod = HT.methodGet
|
||||||
, riBucket = Just bucket
|
, riBucket = Just bucket
|
||||||
, riQueryParams = mkOptionalParams params
|
, riQueryParams = mkOptionalParams params
|
||||||
@ -159,6 +159,7 @@ listObjects' bucket prefix nextToken delimiter = do
|
|||||||
, ("continuation_token", nextToken)
|
, ("continuation_token", nextToken)
|
||||||
, ("prefix", prefix)
|
, ("prefix", prefix)
|
||||||
, ("delimiter", delimiter)
|
, ("delimiter", delimiter)
|
||||||
|
, ("max-keys", show <$> maxKeys)
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | DELETE a bucket from the service.
|
-- | DELETE a bucket from the service.
|
||||||
@ -278,8 +279,8 @@ abortMultipartUpload bucket object uploadId = void $
|
|||||||
|
|
||||||
-- | List incomplete multipart uploads.
|
-- | List incomplete multipart uploads.
|
||||||
listIncompleteUploads' :: Bucket -> Maybe Text -> Maybe Text -> Maybe Text
|
listIncompleteUploads' :: Bucket -> Maybe Text -> Maybe Text -> Maybe Text
|
||||||
-> Maybe Text -> Minio ListUploadsResult
|
-> Maybe Text -> Maybe Int -> Minio ListUploadsResult
|
||||||
listIncompleteUploads' bucket prefix delimiter keyMarker uploadIdMarker = do
|
listIncompleteUploads' bucket prefix delimiter keyMarker uploadIdMarker maxKeys = do
|
||||||
resp <- executeRequest $ def { riMethod = HT.methodGet
|
resp <- executeRequest $ def { riMethod = HT.methodGet
|
||||||
, riBucket = Just bucket
|
, riBucket = Just bucket
|
||||||
, riQueryParams = params
|
, riQueryParams = params
|
||||||
@ -292,6 +293,7 @@ listIncompleteUploads' bucket prefix delimiter keyMarker uploadIdMarker = do
|
|||||||
, ("delimiter", delimiter)
|
, ("delimiter", delimiter)
|
||||||
, ("key-marker", keyMarker)
|
, ("key-marker", keyMarker)
|
||||||
, ("upload-id-marker", uploadIdMarker)
|
, ("upload-id-marker", uploadIdMarker)
|
||||||
|
, ("max-uploads", show <$> maxKeys)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -241,7 +241,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
fPutObject bucket (T.concat ["lsb-release", T.pack (show s)]) "/etc/lsb-release"
|
fPutObject bucket (T.concat ["lsb-release", T.pack (show s)]) "/etc/lsb-release"
|
||||||
|
|
||||||
step "Simple list"
|
step "Simple list"
|
||||||
res <- listObjects' bucket Nothing Nothing Nothing
|
res <- listObjects' bucket Nothing Nothing Nothing Nothing
|
||||||
let expected = sort $ map (T.concat .
|
let expected = sort $ map (T.concat .
|
||||||
("lsb-release":) .
|
("lsb-release":) .
|
||||||
(\x -> [x]) .
|
(\x -> [x]) .
|
||||||
@ -262,7 +262,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
|
|
||||||
step "list incomplete multipart uploads"
|
step "list incomplete multipart uploads"
|
||||||
incompleteUploads <- listIncompleteUploads' bucket Nothing Nothing
|
incompleteUploads <- listIncompleteUploads' bucket Nothing Nothing
|
||||||
Nothing Nothing
|
Nothing Nothing Nothing
|
||||||
liftIO $ (length $ lurUploads incompleteUploads) @?= 10
|
liftIO $ (length $ lurUploads incompleteUploads) @?= 10
|
||||||
|
|
||||||
step "cleanup"
|
step "cleanup"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user