- Adds
::max-connections-total
and ::max-connections-per-route
to allow the Apache HTTP client values to be overridden. They default to 20 and 2 (to correlate to the Apache client behavior) respectively. - Update to clj-parent 1.7.12. This moves the library to require Java 8.
This is a feature release
- TK-443 Adds
:enable-url-metrics?
and setEnableURLMetrics
to the clojure and java APIs respectively. This allows disabling autogenerated url based metrics. - PE-19979 & SERVER-1733 Update dependencies via clj-parent (i18n dependency specifically).
This is a feature release
- PDB-2640 Added a
:compress-request-body
request option which allows for the request
body content to be gzip-compressed before forwarding it on to the server
This is a feature release
- SERVER-1556 Add
puppetlabs/clj-i18n support to clj-http-client.
- Pass the global i18n locale binding in the "accept-language" header of Clojure
client requests.
This is a feature and maintenance release
- TK-179 Refactor to eliminate Clojure/Java duplication
- TK-316 Add support for metrics
- TK-317 Add ability to pass a metrics-id
- TK-354 Add documentation on metrics
- TK-308 Bump Apache HttpAsyncClient library to 4.1.2
- TK-402 Allow metric namespace to be configurable
- Bump Trapperkeeper and Kitchensink dependencies from 1.1.1 to 1.5.1 (TK) and
1.2.0 to 1.3.0 (KS).
This is a feature release.
- TK-312 Unbuffered streams in Java to match clojure support released in 0.4.5.
- Add request function to clojure client protocol.
This is a maintenance release.
- TK-303 - update dependencies to use Apache httpasyncclient v4.1.1.
This is a feature release, and probably should have been 0.5.0 in
order to comply with semantic versioning.
This is a maintenance release.
- TK-196 - update prismatic
dependencies to the latest versions.
This is a feature release.
- TK-134 - Introduced two new
optional client configuration settings:
connect-timeout-milliseconds
: maximum number of milliseconds that the
client will wait for a connection to be established.socket-timeout-milliseconds
: maximum number of milliseconds that the
client will allow for no data to be available on the socket before
closing the underlying connection, 'SO_TIMEOUT' in socket terms.
This is a bugfix release.
- TK-145 - Fixed a bug which
caused some HTTP requests to incorrectly have
charset=UTF-8
added to their
Content-Type
headers.
This is a maintenance release.
- Add documentation for making requests using the Java and Clojure clients.
- Upgrade jvm-ssl-utils (previously known as jvm-certificate-authority)
dependency to 0.7.0.
- Upgrade clj-kitchensink dependency to 1.0.0.
- Upgrade trapperkeeper dependency to 1.0.1.
This is a feature release which has some breaking changes.
- Support for non-client bound asynchronous requests has been removed from both
the Clojure and Java-layer APIs. This includes all of the request functions
that previously existed in the
client.async
Clojure namespace and the
request methods in the AsyncHttpClient
Java class. - Add a Java-layer API for getting an instance of an HttpClient on which
multiple requests -- e.g.., GET, POST -- can be made. Clients are created
via the
createClient
method on the new Async
and Sync
classes, for
a client that can make asynchronous or synchronous web requests, respectively. - Non-client bound synchronous requests can still be performed through the Java
API but must now be done through the
Sync
classes rather than the
SyncHttpClient
class. The SyncHttpClient
class is now used as the type
of the instance that the Sync.createClient()
method returns. - The Java
RequestOptions
class was refactored into new ClientOptions
and
RequestOptions
classes which can be used with the client-bound Async
and Sync
APIs. For non-client bound requests, options are now defined
via a SimpleRequestOptions
class. - Reworked connection close behavior to more robustly handle successful and
failed connections.
This is a bugfix release.
- Fix a memory leak that occurred as a result of connection failures.
This is a feature release.
- Add configuration settings for SSL Protocols and Cipher Suites to both the
Java and Clojure clients.
This is a bugfix release.
- Fix a bug in the Java client API that caused a file descriptor leak each time
a client was created for a new request.
This is a bugfix release.
- Fix a bug where the character encoding was always being set to ISO-8859-1 w/o
a charset ever being explicitly specified in the Content-Type header. We now
honor the existing charset if there is one in the header, and otherwise we
use UTF-8 and explicitly add the charset to the header.
- Add :follow-redirects and :force-redirects options to the clojure client.
- Add followRedirects and forceRedirects options to the Java client.
- Add an overloaded constructor for
RequestOptions
that accepts a String uri
- Fix a bug in the Java client API that caused an NPE if a Content-Type header
did not specify a charset
- Add back in support for query-params map in Clojure API
- Upgrade to Apache HttpAsyncClient v4.0.2 (fixes a bug where headers don't get
included when following redirects).
- Port the code to use the Apache HttpAsyncClient library instead of
http-kit.
- The API around creating a persistent client has changed and
persistent clients are explicitly managed
- The available request options have changed. Some convenience options
have been removed.
- Explicitly target JDK6 when building release jars
- Add support for configuring client SSL context with a CA cert without a
client cert/key
- Update to latest version of puppetlabs/kitchensink
- Use puppetlabs/certificate-authority for SSL tasks
- Fix bug in sync.clj when excluding clojure.core/get
- Added a Java API for the synchronous client