[erlang-questions] HTTP client with sessions support

Mikl Kurkov mkurkov@REDACTED
Thu Jun 11 21:53:38 CEST 2015


Hi!

I'm looking for a HTTP client with HTTP sessions support.
That means it should store and properly use session cookies and follow
redirects.

Options:

1. httpc - standard app, has cookies store, redirects. Main problem is that
it uses heavyweight profiles to isolate sessions,
So for each session I will need to create an atom (for name) and also a
profile ETS table will be created. One possible workaround
is to use some kind of pool of predefined httpc profiles, flushing cookies
on each session start. This will not work good for long running sessions
though.
2. lhttpc - it seems to be closed
3. hackney - has redirects, but no cookie store, also definitely need some
work on cookie processing code - looks like it uses outdated implementation
from some http _server_, so it has parser for 'cookie' header and builder
for 'set-cookie'.
4. ibrowse - doesn't have session support (redirects, cookies)
5. gun - battle tested, low-level, no session support
6. xhttpc (https://github.com/seriyps/xhttpc) - not widely known, but looks
promising,
uses layered middleware architecture.
Has already implemented middlewares for cookie store (parser based on last
RFC6265), redirects, compression.
Supports different backends - httpc, hackney, lhttpc.

I plan to go with xhttpc, maybe implementing backend on top of gun.
Any suggestions, am I missing something?

-- 
Mikl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150611/e7559de8/attachment.htm>


More information about the erlang-questions mailing list