Skip to content

Releases: broadinstitute/http-nio

1.1.1

23 Jun 00:58
1.1.1
b97eaf9

Choose a tag to compare

Fix several bugs when using HttpPath resolve methods.

What's Changed

Full Changelog: 1.1.0...1.1.1

1.1.0

13 Dec 21:14
1.1.0
4abd8d1

Choose a tag to compare

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

09 Dec 02:37
1.0.0

Choose a tag to compare

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 with HttpClient, 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 arbitrary Predicate<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