Commit Graph

126 Commits

Author SHA1 Message Date
Aditya Manthramurthy
ae141fd6f5 Support for Yandex Object Storage (#147)
* Update src/Network/Minio/Sign/V4.hs

Co-authored-by: Sergey Ivanov <ivanovs-4@users.noreply.github.com
2020-05-20 16:04:45 -07:00
Thomas Rodriguez
c31030beac add us-west-2 region to minio data (#139) 2019-12-10 05:59:26 +00:00
Aditya Manthramurthy
410d342cd5
Build with GHC 8.8 (#137)
* Fix to build with GHC 8.8 and fix error handling bug

To work with the addition of MonadFail constraint to parseTimeM in the time
library, the underlying monad was changed from Either to Maybe as it has a
MonadFail instance.

* Update build to run tests against local minio server
2019-10-28 15:40:20 -07:00
Aditya Manthramurthy
1e6579b02b
Add GetObjectResponse data type (#134)
This allows retrieving the ObjectInfo of an object during the
getObject call.
2019-07-29 12:37:44 -07:00
Aditya Manthramurthy
777ca8f616
Fix user-metadata extraction (#133) 2019-07-24 15:07:31 -07:00
Aditya Manthramurthy
b39127778e Add oiUserMetadata to ObjectInfo to return user metadata (#132) 2019-07-24 13:30:03 -07:00
Aditya Manthramurthy
04d1193201
Switch to more performant map data type (#131) 2019-07-24 12:52:18 -07:00
Harshavardhana
3291f8673c Remove port :9000 for play.min.io (#130) 2019-07-24 10:07:54 -07:00
Krishnan Parthasarathi
abed05e523 Expose runMinioRes/runMinioResWith (#129)
... to allow applications to manage application resources along side
MinIO SDK's internal resources
2019-07-10 09:26:54 -07:00
Aditya Manthramurthy
8b908ceeed
Improve haddocks of top-level modules (#127) 2019-07-09 13:32:10 -07:00
Aditya Manthramurthy
cc930975c9
Fix listing to also return common prefixes (#126)
- Also bump up to 1.4.0 as this is a breaking change.
2019-07-09 12:20:05 -07:00
Aditya Manthramurthy
4a807fde56 Add streaming signature for PutObject (#123)
Use streaming signature to avoid reading the body twice in PutObject
requests, where the body can be upto 5GIB.

Note that the body is signed only used when the connection is not
using TLS.
2019-05-16 20:49:38 -07:00
Aditya Manthramurthy
76e5651d5a Add simple TLS helpers: (#121)
- Check if ConnectInfo is secure

- Option to disable TLS certificate validation (to make testing
  easier).
2019-05-13 11:42:34 -07:00
Krishnan Parthasarathi
005c6f8e65 Retry requests that timeout using full-jitter backoff (#119) 2019-05-10 15:41:08 -07:00
Aditya Manthramurthy
85f4bf557d
Fix warnings (#116) 2019-05-08 18:27:02 -07:00
Aditya Manthramurthy
bd455b2f70 Accept GetObjectOptions in statObject (#112) 2019-04-14 13:31:18 -07:00
ebozduman
af3b75e29e MinIO & min.io replaces Minio & minio.io respectively (#114) 2019-04-13 00:25:25 +05:30
Aditya Manthramurthy
82bb60153f
Add encryption options to GetObjectOptions and PutObjectOptions (#111) 2019-04-08 11:50:38 -07:00
Aditya Manthramurthy
b1a11de8b3 Add missing Haddock documentation (#110) 2019-04-02 14:08:19 -07:00
Aditya Manthramurthy
72bf08129c Add support for S3Select API (#108) 2019-03-08 15:54:36 -08:00
Aditya Manthramurthy
0fc264bbc2
Fix region setting in presigned url functions (#107)
- Also split out live server tests into individual functions
2019-02-26 15:45:36 -08:00
Aditya Manthramurthy
c1ee36c19e Export Provider and findFirst (#103) 2018-07-06 01:49:47 -07:00
Krishnan Parthasarathi
44bbd66719 Improve initializing ConnectInfo (#101)
- Remove ConnectInfo's Default instance
- Add support for reading from well-known credential files and
  environment variables
2018-06-29 18:28:17 -07:00
Harshavardhana
8273910084 Add serviceStatus and serviceSendAction admin APIs (#100) 2018-06-25 13:52:28 -07:00
Krishnan Parthasarathi
d16698892b Fix connectRegion for gcsCI (#99)
For gcsCI,
- Use "us", a Multi-Regional location by default.
- Enable connectAutoDiscoverRegion
2018-06-11 10:27:21 -07:00
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