Commit Graph

49 Commits

Author SHA1 Message Date
Aditya Manthramurthy
fa62ed599a
Add support for AssumeRole STS API (#188)
This change adds support for requesting temporary object storage
credentials using the STS API. Some breaking changes are introduced to
enable this support:

- `Credentials` type has been removed. Use the `CredentialValue` type
instead. Corresponding to this the type signature for `setCreds` has
changed, though the functionality is the same.
- The type alias `Provider` has been renamed to `CredentialLoader` to
avoid naming confusion.
2023-05-03 17:52:46 -07:00
Aditya Manthramurthy
d59f45fec4
Hlint fixes (#173)
* Hlint fixes

- Will require major version bump as some types were changed from data
  to newtype

* ormolu fixes after hlint
2022-05-27 14:33:05 -07:00
Aditya Manthramurthy
b91a7afd6b
Update with changes for ormolu 0.5.0.0 (#171)
- Add ormolu check to CI
2022-05-27 12:07:28 -07:00
Aditya Manthramurthy
bdac380c77
Replace protolude with relude and build with GHC 9.0.2 (#168)
- relude is a better and more commonly used library

- Add compiler warnings and fixes

- Update stack lts to 18.24

- Add explicit deriving strategies
2022-02-11 13:48:08 -08:00
Aditya Manthramurthy
c59b7066fc
Updates from new ormolu 0.4 (#167)
* Changes from formatter

* Fix github action run on master branch
2022-02-10 13:34:11 -08:00
Aditya Manthramurthy
23fecbb469
Update code formatting and update dependencies (unliftio, protolude) (#152)
* Format code with ormolu

* Use latest unliftio-core

* Use latest protolude
2020-06-14 10:06:41 -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
Harshavardhana
0cda51804b Add admin heal API (#94) 2018-06-05 15:19:03 -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
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
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
Aditya Manthramurthy
e8a75a8fdb Add bucket and object name validation (#45) 2017-03-28 16:27:23 +05:30
Krishnan Parthasarathi
7be42dd011 Add copyright header to all source files. (#20) 2017-03-02 16:01:59 +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
Aditya Manthramurthy
064f0e73f9 Separate out tests into two suites:
- One suite runs tests not requiring a live server, and the other
  does.

- Adds a cabal flag to disable the live server tests.
2017-02-14 15:20:47 +05:30
Aditya Manthramurthy
ff355ef62c Add QuickCheck test for selectPartSizes (#12) 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
88a51486d5 Disabling live server unit tests temporarily (for travis) 2017-02-13 16:06:01 +05:30
Aditya Manthramurthy
2bf508c96d Fix tests 2017-02-13 16:06:01 +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
6ab4ec6418 Use randomly generated bucket names for functional tests 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
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
512c455fde Add unit test for parse completemultipart upload response 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
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
aabcf3dfec Restructure tests 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
20481ef019 Add some basic documentation 2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
19eda8622f Add unit-tests for parseLocation in XmlParser.Test 2017-02-13 16:03:42 +05:30
Krishnan Parthasarathi
1f73204e38 tests: Move tests to modules corresponding to modules (unit) being tested 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
9aacd28f43 Move xml tests to a separate module 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
225d53bb4e Add a simple test - depends on runnign minio server 2017-02-13 16:03:42 +05:30
Aditya Manthramurthy
d7ceaf272e Initial commit 2017-02-13 16:03:23 +05:30