[erlang-questions] [ANN] Katipo - a compatible and high-performance HTTP client for Erlang

Paul Oliver puzza007@REDACTED
Mon Aug 10 11:58:38 CEST 2015


Hi all,

Where: https://github.com/puzza007/katipo

What:

Katipo is an HTTP client for Erlang based on libcurl and libevent.

Why:

We wanted a very compatible HTTP client for Erlang.

How:

Implemented as a pool of port executables, each running an instance of
libcurl-multi.

Usage:

{ok, _} = application:ensure_all_started(katipo).
Url = <<"https://testurl.com">>.
ReqHeaders = [{<<"User-Agent">>, <<"katipo">>}].
Opts = #{headers => ReqHeaders,
               body => <<"0d5cb3c25b0c5678d5297efa448e1938">>,
               connecttimeout_ms => 5000},
{ok, #{status := 200,
          headers := RespHeaders,
          cookiejar := CookieJar,
          body := RespBody}} = katipo:post(Url, Opts).

Status:

The current status is alpha, with basic functionality working for OTP 18.
There's still plenty from libcurl that can be exposed.  Upcoming features
are OTP 17.x support and the ability to stream responses to clients.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150810/b588bafe/attachment.htm>


More information about the erlang-questions mailing list