Commit Graph

101 Commits

Author SHA1 Message Date
Harshavardhana
22808fcdaf Fix examples to point to lts-11.1 and update docs (#98) 2018-06-08 15:44:55 -07:00
Krishnan Parthasarathi
7564cbd514 Infer XML namespace using connectHost (#96)
While GCS is S3 v4 compatible, it uses a different xml namespace url
than AWS (and Minio).
2018-06-07 18:28:59 -07:00
Harshavardhana
d0ddd7f057 Add setConfig/getConfig API (#95) 2018-06-07 16:20:43 -07:00
Harshavardhana
0cda51804b Add admin heal API (#94) 2018-06-05 15:19:03 -07:00
Harshavardhana
161c9726b9 Add docs for poo* and goo* (#92) 2018-06-04 14:54:04 -07:00
Krishnan Parthasarathi
bf27848046 Add basic doc for AdminAPI module (#93) 2018-06-04 13:25:02 -07:00
Krishnan Parthasarathi
952c0b0342 Add getServerInfo admin API (#91)
- Add Admin API helper functions like buildAdminRequest
2018-05-31 18:06:24 -07:00
Krishnan Parthasarathi
a946dfd305 Make signature V4 independent of S3ReqInfo (#88)
- Rename RequestInfo to S3ReqInfo
2018-05-30 13:50:15 -07:00
Aditya Manthramurthy
d25c7ef1dc Drop dependency on exceptions lib (#87) 2018-05-14 06:48:07 +05:30
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