Tests needing fixing for recent minio
Also:
- set minimum tested version to 8.10
- remove building with cabal 3.6
- update stack.yaml to add crypton-connection
Update live server test env var handling
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.
This exports a new module for retrieving STS based credentials, however
they are not yet convenient to use in the library - the session token
needs to be included as a custom header and may not be possible with all
APIs.
- Also update standard S3 endpoints
- Unify code that determines if path style or virtual style must be used for
regular and presigned requests
Fixes#160
* CI: Add support for GHC 8.10, stack and live-server testing
* Fix live-server tests for all platforms
* Fix windows tests
* Fix resourcet cleanup exceptions
* Mark minio-hs builds GHC 8.4, 8.8 on windows experimental
* Use minio with erasure code backend for tests
* Fix matrix combinations for cabal and stack
Co-authored-by: Krishnan Parthasarathi <kp@minio.io>
* 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
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.
- Also add .stylish-haskell.yaml
- Re-implements `limitedMapConcurrently` using STM
- Dependencies clean up in cabal file
- Fix shadow warnings and other build warnings
* 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
- 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.
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.