Asynchronous HTTP Client - Clojure - Changelog

Table of Contents

1 Release 0.5.2

Compile with Java 1.6

2 Release 0.5.1

2.1 remove-params-on-redirect

Issues #46, #47 and #48 by Joseph Wilk.

2.2 Upgrade AHC to 1.7.10

3 Release 0.5.0

3.2 http.async.client/redirect?

Added utility fn for checking if response Is redirect?.

3.3 http.async.client/location

Added utility fn for Reading location.

3.4 Moved to Leiningen 2

3.5 PATCH

Added support for HTTP PATCH method.

3.6 Initial WebSocket support

Not documented yet, Code is here. Demo usage can be found in hac-live dome for EuroClojure 2012. Request 12 and Request 13 are WebSocket examples.

3.7 Upgrade AHC to v1.7.5

4 Release 0.4.5

4.1 Multipart support

Allow POST and PUT to send multipart messages. When vector is provided as body it is treated as multipart. Please consult documentation and tests for examples of usage.

4.2 Add convenience url and raw-url

#35. Allow easy retrieval of URL used to request resource.

4.3 There's a function for that!

Listen to what kibit has to say.

5 Release 0.4.4

5.1 Simplified callbacks API

Issue #32.

5.2 Better documented callbacks

This was long outstanding issue #12.

5.3 Upgrade AHC to 1.7.4

5.4 Upgrade Clojure to 1.4

6 Release 0.4.3

6.1 Issue #30 by Cesar Canassa

Fixes issue with single cookie in response.

6.2 Upgrade AHC to 1.7.1

7 Release 0.4.2

7.1 Issue #29 by A. Diamond

Added support for client certificates.

8 Release 0.4.1

8.1 Upgrade AHC to 1.7.0

8.2 Issues #26, #27, #28

#26
Justin Kramer, Brian Tatnall Empty response body hangs c/body, c/string
#27
Justin Kramer create-client's :idle-in-pool-timeout option not being set correctly
#28
Karsten Lang Documentation update

8.3 Improved logging

Improved logging configuration for running tests.

8.4 Tested against Clojure 1.4.0-beta1

9 Release 0.4.0

9.1 Clojure 1.3 compatible

9.2 Support for multiple values for same key (QString)

#22

9.3 Clojure contrib independent

#24

9.4 Upgrade async-http-client to v1.6.5

10 Release 0.3.1

10.1 Upgrade async-http-client to v1.6.4

11 Release 0.3.0

11.1 Upgrade async-http-client to v1.6.3

11.2 Control over preemptive authentication

Patch provided by xeqi.

11.3 Explicit client usage

Now following functions require client as first argument:

  • GET
  • PUT
  • POST
  • DELETE
  • HEAD
  • OPTIONS
  • request-stream
  • stream-seq
  • execute-request

You still create client with create-client function.

11.4 Removed with-client macro

This didn't really bring much value. Migration path. From:

(with-client {:key val}
  ;; client usage
  (let [resp (GET url)]))

To:

(with-open [client (create-client :key val)]
  ;; client usage
  (let [resp (GET client url)]))

11.5 Clojure 1.2.1

Fixed cyclic dependency that was preventing http.async.client from been used in Clojure 1.2.1.

12 Release 0.2.2

12.1 get-encoding helper works w/o Content-Type header

12.2 Upgrade async-http-client to v.1.5.0

12.3 Exposed more configuration options

12.3.1 Timeouts

12.3.2 Proxy

12.3.3 Authentication

12.4 Zero byte copy mode

If sending File as body, zero byte copy is used.

12.5 Allow providing your own poll

Vadim Geshel contribution.

12.6 Allow Asynchronous Connect

Vadim Geshel contribution.

12.7 Fix seq streaming API

Previous versions of seq streaming API have been holding to head, not anymore.

12.8 Lots of performance improvements

Underlying async-http-client has undergone serious optimization changes.

13 Release 0.2.1

13.1 Terminate body seq if errored    bug

13.2 Canceling request

http.async.client/cancel and http.async.client/canceled?

13.3 Request timeout

Per request configuration of request timeout in ms.

(GET url :timeout 100)

13.4 Close client

http.async.client/close.

(c/close)
;; or
(c/close hac)

13.5 Upgrade to v1.3.2 of async-http-client

14 Release 0.2.0

14.1 Stream as seq

Response body can be seq, this allows for easy HTTP Stream handling. Documentation.

14.2 Cookies

Added cookies support. Sending and receiving.

14.3 Authentication support

Basic and Digest from rfc2617 are supported. Documentation.

14.4 Proxy per request

Proxy can be specified per request. Documentation.

14.5 Branding User-Agent

Specifying User-Agent per client. http.async.client/create-client and http.async.client/with-client.

14.6 Keyworded maps in API

Like :options in http.async.client/GET.

Date: 2013-02-21T09:00+0100

Author: Hubert Iwaniuk

Org version 7.9.3e with Emacs version 24

Validate XHTML 1.0