Releases: broadinstitute/http-nio
Releases · broadinstitute/http-nio
1.1.1
Fix several bugs when using HttpPath resolve methods.
What's Changed
- Fix HttpPath.resolve(String) bugs by @lbergelson in #9
Full Changelog: 1.1.0...1.1.1
1.1.0
Resolving
This adds implementations of resolve()
/ resolveSibling()
to HttpPath().
They don't handle every possible legal input, but they should work in practice.
1.0.0
Major release: Try and Try Again
There are many newly implemented features and updates. Much of the code was rewritten.
It is not fully backwards compatible but upgrading should be straightforward for most users.
Modernized the Repo and Infrastructure
- moved to Java 17!
- replace travis-ci with github actions
- moved the repo to the broadinstitute organization
- updated to gradle 8.4
Rewrite the Connection Code
- replaced the old style
URLConnection
withHttpClient
, this gives us more control over how error conditions are handled - added Wiremock integration tests to simulate more error conditions which were previously untested
- replaced URL with URI and dramatically reduced boilerplate conversions between them
- fixed several bugs including:
- incorrect treatment of percent encoded characters in the URI
- edge cases relating to range requests
- updated
HttpFileSystemProviderSettings
so they are all connected and relevant
Add a Highly Configurable Retry Mechanism
- added a new
RetryHandler
- This allows any network IO operation to be retried in the case of unexpected responses or IOExceptions.
RetryHandler
determines if an operation can be retried by examining the http return code, the type of thrown exceptions, the exception messages, or optionally an arbitraryPredicate<IOException>
which allows the client to override with arbitrary behavior.
Sane defaults are provided but the user can configure it at runtime if needed.
Full Changelog: v0.1.0...1.0.0