gun icon indicating copy to clipboard operation
gun copied to clipboard

HTTP/1.1, HTTP/2, Websocket client (and more) for Erlang/OTP.

= Gun

Gun is an Erlang HTTP client with support for HTTP/1.1, HTTP/2 and Websocket.

== Goals

Gun aims to provide an easy to use client compatible with HTTP/1.1, HTTP/2 and Websocket. Gun can connect through any combination of Socks and HTTP proxies.

Gun is always connected. It will maintain a permanent connection to the server, reopening it as soon as the server closes it, saving time for the requests that come in.

All connections are supervised automatically, allowing developers to focus on writing their code without worrying.

== Sponsors

The project is currently sponsored by https://pleroma.social/[Pleroma].

The now removed SPDY implementation was sponsored by http://leo-project.net/leofs/[LeoFS Cloud Storage].

It was previously sponsored by https://sameroom.io/[Sameroom].

== Online documentation

  • https://ninenines.eu/docs/en/gun/2.0/guide[User guide]
  • https://ninenines.eu/docs/en/gun/2.0/manual[Function reference]

== Offline documentation

  • While still online, run make docs
  • User guide available in doc/ in PDF and HTML formats
  • Function reference man pages available in doc/man3/ and doc/man7/
  • Run make install-docs to install man pages on your system
  • Full documentation in Asciidoc available in doc/src/

== Getting help

  • Official IRC Channel: #ninenines on irc.freenode.net
  • https://github.com/ninenines/gun/issues[Issues tracker]
  • https://ninenines.eu/services/[Commercial Support]