Aditya Manthramurthy
522d49452f
Remove dependency on text-format lib and fix bucket policy test ( #86 )
2018-05-11 17:48:34 -07:00
Harshavardhana
02b28bc100
api: Support single PUT on stream uploads ( #84 )
...
Current functionality only supported stream based
uploads using multipart, this meant that even for
small file sizes we were performing multipart operations
which is slower and unnecessary.
This PR fixes this behavior.
2018-04-23 14:56:31 -07:00
Harshavardhana
6d20558098
Implement getBucketPolicy/setBucketPolicy ( #82 )
...
fixes #40
fixes #39
2018-03-27 12:38:58 +05:30
Aditya Manthramurthy
51b3e51d46
Switch to unliftio and lts-11.1 ( #83 )
...
- Also add .stylish-haskell.yaml
- Re-implements `limitedMapConcurrently` using STM
- Dependencies clean up in cabal file
- Fix shadow warnings and other build warnings
2018-03-26 14:04:25 -07:00
Harshavardhana
38b67b4dab
Add support for ContentLanguage and StorageClass ( #80 )
2018-03-19 18:50:38 -07:00
Krishnan Parthasarathi
09d71251da
Fix pooToHeaders to associate right header names to values ( #81 )
2018-03-19 11:48:24 -07:00
Harshavardhana
37940ad170
Add putObjectOptions for PutObject ( #71 )
2018-01-16 14:29:17 +05:30
Harshavardhana
8be1ff429f
Support GetObjectOptions for getObject and fGetObject ( #72 )
2017-12-07 13:17:24 +05:30
Krishnan Parthasarathi
fe7aef21b7
Make copyObject use SourceInfo, DestinationInfo ( #73 )
...
* Make CopyPartSource constructor private
... and make individual record accessors exported. This change allows
adding of additional record members to CopyPartSource without breaking
applications.
* Move high-level copyObject functions to CopyObject module
* Make copyObject use SourceInfo, DestinationInfo
... to allow supporting features like client-side and server-side
encryption subsequently.
- fix warnings in tests/LiveServer.hs
2017-12-04 07:24:48 -08:00
Aditya Manthramurthy
0d8f5c08e8
Add Bucket Notification APIs ( #59 )
...
- Adds get, put and remove operations
- Also adds more sections to the haddock API doc to make it more
friendly.
2017-10-25 08:43:35 +00:00
Aditya Manthramurthy
b7dfd0457d
Add documentation for presigned operations ( #68 )
...
- Add full examples for presignedGetObjectUrl and
presignedPutObjectUrl
- Lower-case `*URL` API functions to `*Url` to adopt a Haskell naming
convention
Finishes and fixes #35 , #36 and #37 .
2017-10-16 16:13:18 +00:00
Harshavardhana
c26af265ec
Add ListObjectsV1 API support ( #66 )
...
This is added for legacy requirements
2017-10-15 22:38:06 -07:00
Harshavardhana
2b816b7092
Remove resuming capabilities of PutObject ( #67 )
2017-10-16 02:35:37 +05:30
Harshavardhana
df5cf20fce
For secure connection do not compute sha256 ( #65 )
2017-10-13 14:43:26 -07:00
Aditya Manthramurthy
d3353bb35a
Add presigned Post Policy API ( #58 )
...
- Also force tests to run in serial on travis (otherwise it times out)
2017-09-26 09:02:39 -07:00
Aditya Manthramurthy
02170778da
Add presigned operations APIs ( #56 )
...
This change adds 3 functions to main API: presignedGetObjectURL,
presignedPutObjectURL and presignedHeadObjectURL.
A fourth more generic API is added to `Network.Minio.S3API` -
makePresignedURL.
Additionally, refactors signing code for readability and the ability
to reuse for pre-signing.
2017-09-08 10:39:07 -05:00
Krishnan Parthasarathi
d7ba361784
Add removeIncompleteupload API ( #49 )
2017-09-08 12:42:29 +05:30
Aditya Manthramurthy
8456034d9e
Fix concurrency bug in limitedMapConcurrently ( #53 )
...
Also simplifies implementation using lifted `bracket_` and async
routines, instead of lifted control operations like `liftBaseOp_`
Adds a test.
2017-08-21 11:52:06 -07:00
Krishnan Parthasarathi
dca4462879
Move runResourceT into Minio monad ( #50 )
2017-07-15 11:07:33 -06:00
Krishnan Parthasarathi
2e7984b71c
Export ListUploadsResult and ListObjectsResult ( #48 )
...
Also take max-keys as an argument for listObjects' and max-uploads for
listIncompleteUploads'.
2017-06-16 10:23:52 -07:00
Aditya Manthramurthy
e8a75a8fdb
Add bucket and object name validation ( #45 )
2017-03-28 16:27:23 +05:30
Krishnan Parthasarathi
9358d28d3b
Fix hlint warnings and suggestions ( #44 )
2017-03-25 15:56:51 +05:30
Krishnan Parthasarathi
b30beecd52
Add bucketExists and headBucket APIs ( #42 )
...
Also fixed examples to work with lts-8.5
2017-03-23 15:57:52 +05:30
Krishnan Parthasarathi
3d6d2d5d61
Make minio-hs build with lts-8.5 ( #33 )
2017-03-17 14:53:24 +05:30
Krishnan Parthasarathi
a78d2bf39a
Fix size calculation of parts in listIncompleteUploads ( #31 )
2017-03-15 19:17:48 +05:30
Krishnan Parthasarathi
843fd6123b
Add copyObject example. ( #30 )
2017-03-15 15:26:48 +05:30
Krishnan Parthasarathi
84c596f32c
Parse S3 service errors and return ServiceErr values ( #28 )
2017-03-13 19:02:21 +05:30
Krishnan Parthasarathi
b333ed6345
Make MinioErr flatter and make examples work. ( #25 )
2017-03-09 16:51:56 +05:30
Krishnan Parthasarathi
9001f81813
Add port to host header for signing. ( #24 )
...
* Add port to host header for signing.
* Use endpoint corresponding to region for AWS S3
2017-03-03 21:16:47 +05:30
Aditya Manthramurthy
c30d4b2ce5
Use multipart copy in copyObject smaller files: ( #23 )
...
This change makes copyObject use multipart strategy when the object to
be created has a size larger than 64 MiB. Previously this strategy was
used when the object is larger than 5GiB only.
2017-03-03 16:50:59 +05:30
Krishnan Parthasarathi
de97837020
Add removeObject function ( #22 )
...
* Add an example
* Fix minor issues in API.md
2017-03-02 16:49:27 +05:30
Krishnan Parthasarathi
7be42dd011
Add copyright header to all source files. ( #20 )
2017-03-02 16:01:59 +05:30
Aditya Manthramurthy
95815b3edd
Clean up ConnectInfo smart constructors + doc sections: ( #21 )
...
* Introduce ConnectInfo and its smart constructors
* Introduce the Minio monad and provide a simple example
2017-03-02 15:45:15 +05:30
Krishnan Parthasarathi
8efd9f2329
Export getService S3API as listBuckets ( #18 )
...
... for parity with other SDKs.
- Also remove left-over reference of listIncompleteParts.
2017-03-02 12:11:34 +05:30
Krishnan Parthasarathi
4ec362918e
listIncompleteUploads returns upload size like other SDKs ( #15 )
2017-03-01 17:01:52 +05:30
Aditya Manthramurthy
99d9879cb5
Rename types ( #12 )
...
* Rename PartInfo -> PartTuple
* Rename ListPartInfo -> ObjectPartInfo
2017-02-28 18:14:16 +05:30
Krishnan Parthasarathi
abdc9fe320
Use bucket region cache to minimize getLocation requests ( #3 )
2017-02-25 16:42:23 +05:30
Aditya Manthramurthy
e4e2576c74
Add copyObject API: ( #5 )
...
* Performs server side copy of an object by creating a new object that
is a copy of an existing object or part of an existing object.
* The user may specify an object on server of any size, and optionally
specify a byte range to only copy a part of the object.
* Copy conditions are also supported.
2017-02-23 14:04:08 +05:30
Harshavardhana
fa527afa96
Rename putObjectFromSource as putObject
...
Also live server tests now use Minio Play server.
2017-02-18 16:40:30 +05:30
Aditya Manthramurthy
f5bc5a0a45
Fix haddock links ( Fixes #6 ) ( #13 )
2017-02-13 16:06:01 +05:30
Krishnan Parthasarathi
00176ff976
Add statObject high-level API ( #11 )
2017-02-13 16:06:01 +05:30
Aditya Manthramurthy
153c5a67cd
Add high-level makeBucket API ( #2 )
...
* Add high-level makeBucket API
* Add build badge
* Bring back live server tests.
2017-02-13 16:06:01 +05:30
Aditya Manthramurthy
3c92dc92c6
Improve some haddock; improve getObject interface.
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
75743ab946
PutObject fixes - does resource cleanup properly now.
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
fd66d85167
Add getObject and putObject examples
...
- Use mkRandFile instead of depending on files on disk.
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
0509d90ef1
Multipart upload bug fixes and test fixes
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
915d099112
Add putObjectFromSource and some minor refactors
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
688f326b6e
Make parallel upload also resume an existing upload
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
d17d6f216d
Use tlsManagerSettings if connectIsSecure is True
...
Also provide convenient default instances for ConnectInfo for AWS and
play (minio service).
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
b36fbb3a2f
parseListObjectsResponse should handle empty etags
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
c430e3d747
Makes sequential uploads resumable.
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
43bfabd186
Improve error handling; misc
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
aa66ba291e
Add listObjects, listIncompleteUploads and listIncompleteParts
...
high-level APIs
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
0f3676b6d7
Minor refactor
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
f26fbc82a7
Refactor error types returned by the library
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
5f1ee7fc67
Implement list object parts of an ongoing multipart upload.
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
74748cfb16
Initial high-level putobject
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
a36b8b036f
doc: add missing doc strings
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
41d86e86ff
Add listIncompleteUploads s3 api.
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
dafa01d7db
Clean up with better combinators
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
a12fa8a077
Align imports
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
2817d4654d
Fix warnings
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
72f824dd31
Add listObjects s3api.
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
2070a8e13f
PutObjectPart and CompleteMultipartUpload with basic tests
...
- Functional tests are refactored
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
e2a99530be
use Default instance for ConnectInfo
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
3dcb89d8ba
Add abort multipart
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
6268eb29a7
Restructure functional tests and remove executable from .cabal
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
4e0635cab3
Add support for ghc 8 - build with "STACK_YAML=stack-ghc-8.0.1.yaml stack install"
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
82262ee695
Eliminate requestInfo function and use default instances
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
20481ef019
Add some basic documentation
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
6db483c2bc
Fix some warnings
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
8be4f0a06f
Add MonadBaseControl IO instance and catch HttpException
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
7d7b81cbe3
Catch file opening errors
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
ca3276cd87
Basic putObject is working:
...
- This is single PUT action - so only files up to 5GB.
- Buffers in memory because chunked singature is not yet implemented.
- fPutObject is simply wired to putObject (so does not yet work for
multipart uploads
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
b9c7ceb435
Make internal functions available for testing
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
a7e70b9031
Refactor error handling and fix most warnings
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
c9f6d666db
Refactor request builder and Payload type
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
1ad670a328
Fix shadowing warnings
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
0648e4965e
Fix getObject to throw error on failure
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
2cda5d2e55
Add deleteBucket and deleteObject api
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
45d5f9e676
Move region to RequestInfo
...
Region is a request specific attribute, mostly applies to bucket
operations.
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
342d0bc8ff
Move Xml Generation to a module
...
- Make putBucket throw exception of failure
2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
a9b82f9b70
Add putBucket API
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
73a88143d5
GetObject s3api and fGetObject api
...
- Also updates to lts 6.27 (to be able to use sinkFileCautious)
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
fe1dfe24d6
Reorganize api
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
00e9198e60
Implement getService and getLocation
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
9d6ec0f6e5
more progress
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
fb6bf1a9cb
working program - with minio monad
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
07eb59fda5
Add Minio monad and start getService
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
4569348dc2
Signing works! But includes lots of debug stmts.
2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
5ce595bc6f
Compiling but without signing working properly yet
2017-02-13 16:03:42 +05:30