Commit Graph

47 Commits

Author SHA1 Message Date
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
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
Krishnan Parthasarathi
9358d28d3b Fix hlint warnings and suggestions (#44) 2017-03-25 15:56:51 +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
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
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
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
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
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
Aditya Manthramurthy
c430e3d747 Makes sequential uploads resumable. 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
a12fa8a077 Align imports 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
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
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
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
5ce595bc6f Compiling but without signing working properly yet 2017-02-13 16:03:42 +05:30