Commit Graph

66 Commits

Author SHA1 Message Date
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