= gun(7) == Name gun - HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP == Description Gun is an HTTP client for Erlang/OTP with support for the HTTP/1.1, HTTP/2 and Websocket protocols. Gun aims to provide an easy to use, asynchronous and always-connected client. It maintains a permanent connection to the server and reconnects automatically when necessary. == Modules * link:man:gun(3)[gun(3)] - Asynchronous HTTP client * link:man:gun_cookies(3)[gun_cookies(3)] - Cookie store engine * link:man:gun_cookies_list(3)[gun_cookies_list(3)] - Cookie store backend: in-memory, per connection * link:man:gun_event(3)[gun_event(3)] - Events * link:man:gun_ws_protocol(3)[gun_ws_protocol(3)] - Websocket subprotocols == Dependencies * link:man:cowlib(7)[cowlib(7)] - Support library for manipulating Web protocols * ssl - Secure communication over sockets All these applications must be started before the `gun` application. To start Gun and all dependencies at once: [source,erlang] ---- {ok, _} = application:ensure_all_started(gun). ---- == Environment The `gun` application does not define any application environment configuration parameters. == See also link:man:cowlib(7)[cowlib(7)]