Skip to content

Commit ab87001

Browse files
committed
Mentioned DNS, outlined specific differences in the API
1 parent c468566 commit ab87001

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,27 @@ For HTTP client requests, Aleph models itself after [clj-http](https://github.co
4141
prn)
4242
```
4343

44-
Aleph attempts to mimic the clj-http API and capabilities fully. It does support multipart requests, cookie stores and proxy servers, but API for those features differs slightly from `clj-http` version due to the difference in underlying implementations. To learn more, [read the example code](http://aleph.io/examples/literate.html#aleph.examples.http).
44+
Aleph attempts to mimic the clj-http API and capabilities fully. It supports multipart/form-data requests, cookie stores, proxy servers and requests inspection with a few notable differences:
45+
46+
* proxy configuration should be set for the connection when seting up a connection pool, per-request proxy setups are not allowed
47+
48+
* HTTP proxy functionality is extended with tunneling settings, optional HTTP headers and connection timeout control, see [all configuration keys](https://github.com/ztellman/aleph/blob/d33c76d6c7d1bf9788369fe6fd9d0e56434c8244/src/aleph/http.clj#L122-L132)
49+
50+
* `:proxy-ignore-hosts` is not supported
51+
52+
* both cookies middleware and built-in cookies storages do not support cookie params obsoleted since RFC2965: comment, comment URL, discard, version (see the full structure of the [cookie](https://github.com/ztellman/aleph/blob/d33c76d6c7d1bf9788369fe6fd9d0e56434c8244/src/aleph/http/client_middleware.clj#L645-L655))
53+
54+
* when using `:debug`, `:save-request?` and `:debug-body?` options, corresponding requests would be stored in `:aleph/netty-request`, `:aleph/request`, `:aleph/request-body` keys of the response map
55+
56+
* `:response-interceptor` option is not supported
57+
58+
* Aleph introduces `:log-activity` connection pool [configuration](https://github.com/ztellman/aleph/blob/d33c76d6c7d1bf9788369fe6fd9d0e56434c8244/src/aleph/http.clj#L120) to switch on the logging of the connections status changes as well as requests/response hex dumps
59+
60+
* `:cache` and `:cache-config` options are not supported as for now
61+
62+
Aleph client also supports fully async and [highly customizable](https://github.com/ztellman/aleph/blob/d33c76d6c7d1bf9788369fe6fd9d0e56434c8244/src/aleph/netty.clj#L783-L796) DNS resolver.
63+
64+
To learn more, [read the example code](http://aleph.io/examples/literate.html#aleph.examples.http).
4565

4666
### WebSockets
4767

0 commit comments

Comments
 (0)