summaryrefslogtreecommitdiffstats
path: root/index.xml
diff options
context:
space:
mode:
Diffstat (limited to 'index.xml')
-rw-r--r--index.xml168
1 files changed, 163 insertions, 5 deletions
diff --git a/index.xml b/index.xml
index 0adf185a..1ebe3942 100644
--- a/index.xml
+++ b/index.xml
@@ -81,8 +81,9 @@ Copyright (c) 2013-2018, Loïc Hoguin <[email protected]> Permiss
Gun supports the HTTP/2, HTTP/1.1 and Websocket protocols.
Prerequisites Knowledge of Erlang, but also of the HTTP/1.1, HTTP/2 and Websocket protocols is required in order to read this guide.
Supported platforms Gun is tested and supported on Linux, FreeBSD, Windows and OSX.
-Gun is developed for Erlang/OTP 20.0 and newer.
-Note that Gun will not work on the Windows build of Erlang/OTP 20.3 due to a bug in Erlang/OTP&amp;apos;s stdlib application.</description>
+Gun is developed for Erlang/OTP 22.0 and newer.
+License Gun uses the ISC License.
+Copyright (c) 2013-2019, Loïc Hoguin &amp;lt;[email protected]&amp;gt; Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.</description>
</item>
<item>
@@ -3130,6 +3131,18 @@ Before listing the features please note that this pre-release includes a fix for
</item>
<item>
+ <title>Gun 2.0 pre-release 2</title>
+ <link>https://ninenines.eu/articles/gun-2.0.0-pre.2/</link>
+ <pubDate>Fri, 27 Sep 2019 07:00:00 +0100</pubDate>
+
+ <guid>https://ninenines.eu/articles/gun-2.0.0-pre.2/</guid>
+ <description>Gun 2.0.0-pre.2 has been released!
+The second pre-release version of Gun 2.0 has been released! Gun 2.0 adds a ton of features along with a small number of breaking changes.
+The main highlight of this pre-release is the support for a pluggable cookie store mechanism. Gun 2.0 comes with a cookie store engine that can automatically process cookies and store them to and retrieve them from a pluggable backend.
+Gun 2.</description>
+ </item>
+
+ <item>
<title>Erlang meetup: 10 septembre 2019</title>
<link>https://ninenines.eu/articles/erlang-meetup-10-septembre-2019/</link>
<pubDate>Thu, 22 Aug 2019 07:00:00 +0100</pubDate>
@@ -3679,6 +3692,30 @@ Exports cow_cookie:parse_cookie(3) - Parse a cookie header cow_cookie:setcookie
</item>
<item>
+ <title>cow_cookie(3)</title>
+ <link>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie/</guid>
+ <description>Name cow_cookie - Cookies
+Description The module cow_cookie provides functions for parsing and manipulating cookie headers.
+Exports cow_cookie:parse_cookie(3) - Parse a cookie header cow_cookie:parse_set_cookie(3) - Parse a set-cookie header cow_cookie:cookie(3) - Generate a cookie header cow_cookie:setcookie(3) - Generate a set-cookie header Types cookie_attrs() cookie_attrs() :: #{ expires =&amp;gt; calendar:datetime(), max_age =&amp;gt; calendar:datetime(), domain =&amp;gt; binary(), path =&amp;gt; binary(), secure =&amp;gt; true, http_only =&amp;gt; true, same_site =&amp;gt; strict | lax } Cookie attributes parsed from the set-cookie header.</description>
+ </item>
+
+ <item>
+ <title>cow_cookie:cookie(3)</title>
+ <link>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie.cookie/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie.cookie/</guid>
+ <description>Name cow_cookie:cookie - Generate a cookie header
+Description cookie(Cookies) -&amp;gt; iolist() Cookies :: [{Name :: iodata(), Value :: iodata()}] Generate a cookie header.
+Arguments Cookies A list of pairs of cookie name and value.
+ Return value An iolist with the generated cookie header value.
+Changelog 2.9: Function introduced. Examples Generate a cookie header Cookie = cow_cookie:cookie([{&amp;lt;&amp;lt;&#34;sessionid&#34;&amp;gt;&amp;gt;, ID}]). See also cow_cookie(3), cow_cookie:parse_cookie(3), cow_cookie:parse_set_cookie(3), cow_cookie:setcookie(3)</description>
+ </item>
+
+ <item>
<title>cow_cookie:parse_cookie(3)</title>
<link>https://ninenines.eu/docs/en/cowlib/2.8/manual/cow_cookie.parse_cookie/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -3693,6 +3730,33 @@ Changelog 1.0: Function introduced. Examples Parse a cookie header Cookies = c
</item>
<item>
+ <title>cow_cookie:parse_cookie(3)</title>
+ <link>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie.parse_cookie/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie.parse_cookie/</guid>
+ <description>Name cow_cookie:parse_cookie - Parse a cookie header
+Description parse_cookie(Cookie :: binary()) -&amp;gt; [{binary(), binary()}] Parse a cookie header.
+Arguments Cookie The cookie header value.
+ Return value A list of cookie name/value pairs is returned on success.
+An exception is thrown in the event of a parse error.
+Changelog 2.9: Fixes to the parser may lead to potential incompatibilities. A cookie name starting with $ is no longer ignored.</description>
+ </item>
+
+ <item>
+ <title>cow_cookie:parse_set_cookie(3)</title>
+ <link>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie.parse_set_cookie/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie.parse_set_cookie/</guid>
+ <description>Name cow_cookie:parse_set_cookie - Parse a set-cookie header
+Description parse_set_cookie(SetCookie :: binary()) -&amp;gt; {ok, Name, Value, Attrs} | ignore Name :: binary() Value :: binary() Attrs :: cow_cookie:cookie_attrs() Parse a set-cookie header.
+Arguments SetCookie The set-cookie header value.
+ Return value An ok tuple with the cookie name, value and attributes is returned on success.
+An atom ignore is returned when the cookie has both an empty name and an empty value, and must be ignored.</description>
+ </item>
+
+ <item>
<title>cow_cookie:setcookie(3)</title>
<link>https://ninenines.eu/docs/en/cowlib/2.8/manual/cow_cookie.setcookie/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -3708,6 +3772,21 @@ Changelog 1.0: Function introduced. Examples Generate a set-cookie header SetC
</item>
<item>
+ <title>cow_cookie:setcookie(3)</title>
+ <link>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie.setcookie/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowlib/2.9/manual/cow_cookie.setcookie/</guid>
+ <description>Name cow_cookie:setcookie - Generate a set-cookie header
+Description setcookie(Name :: iodata(), Value :: iodata(), Opts :: cow_cookie:cookie_opts()) -&amp;gt; iolist() Generate a set-cookie header.
+Arguments Name Cookie name.
+ Value Cookie value.
+ Opts Options added to the set-cookie header as attributes.
+ Return value An iolist with the generated set-cookie header value.
+Changelog 1.0: Function introduced. Examples Generate a set-cookie header SetCookie = cow_cookie:setcookie(&amp;lt;&amp;lt;&#34;sessionid&#34;&amp;gt;&amp;gt;, ID, #{ http_only =&amp;gt; true, secure =&amp;gt; true }).</description>
+ </item>
+
+ <item>
<title>Cowboy Function Reference</title>
<link>https://ninenines.eu/docs/en/cowboy/2.2/manual/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -8969,6 +9048,18 @@ Modules cow_cookie(3) - Cookies Dependencies crypto - Crypto functions All t
</item>
<item>
+ <title>Cowlib Function Reference</title>
+ <link>https://ninenines.eu/docs/en/cowlib/2.9/manual/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowlib/2.9/manual/</guid>
+ <description>Name cowlib - Support library for manipulating Web protocols
+Description Cowlib provides libraries for parsing and building messages for various Web protocols, including HTTP/1.1, HTTP/2 and Websocket.
+It is optimized for completeness rather than speed. No value is ignored, they are all returned.
+Modules cow_cookie(3) - Cookies Dependencies crypto - Crypto functions All these applications must be started before the cowlib application. To start Cowlib and all dependencies at once:</description>
+ </item>
+
+ <item>
<title>cowlib(7)</title>
<link>https://ninenines.eu/docs/en/cowlib/2.8/manual/cowlib_app/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -8981,6 +9072,18 @@ Modules cow_cookie(3) - Cookies Dependencies crypto - Crypto functions All t
</item>
<item>
+ <title>cowlib(7)</title>
+ <link>https://ninenines.eu/docs/en/cowlib/2.9/manual/cowlib_app/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/cowlib/2.9/manual/cowlib_app/</guid>
+ <description>Name cowlib - Support library for manipulating Web protocols
+Description Cowlib provides libraries for parsing and building messages for various Web protocols, including HTTP/1.1, HTTP/2 and Websocket.
+It is optimized for completeness rather than speed. No value is ignored, they are all returned.
+Modules cow_cookie(3) - Cookies Dependencies crypto - Crypto functions All these applications must be started before the cowlib application. To start Cowlib and all dependencies at once:</description>
+ </item>
+
+ <item>
<title>Gun Function Reference</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -9037,7 +9140,7 @@ Modules gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support lib
<description>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 gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support library for manipulating Web protocols ssl - Secure communication over sockets All these applications must be started before the gun application.</description>
+Modules gun(3) - Asynchronous HTTP client gun_cookies(3) - Cookie store engine gun_cookies_list(3) - Cookie store backend: in-memory, per connection Dependencies cowlib(7) - Support library for manipulating Web protocols ssl - Secure communication over sockets All these applications must be started before the gun application.</description>
</item>
<item>
@@ -9202,7 +9305,7 @@ Modules gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support lib
<description>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 gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support library for manipulating Web protocols ssl - Secure communication over sockets All these applications must be started before the gun application.</description>
+Modules gun(3) - Asynchronous HTTP client gun_cookies(3) - Cookie store engine gun_cookies_list(3) - Cookie store backend: in-memory, per connection Dependencies cowlib(7) - Support library for manipulating Web protocols ssl - Secure communication over sockets All these applications must be started before the gun application.</description>
</item>
<item>
@@ -9912,7 +10015,7 @@ Description info(ConnPid) -&amp;gt; Info ConnPid :: pid() Info :: #{ socket =&am
<guid>https://ninenines.eu/docs/en/gun/2.0/manual/gun.info/</guid>
<description>Name gun:info - Obtain information about the connection
-Description info(ConnPid) -&amp;gt; Info ConnPid :: pid() Info :: #{ owner =&amp;gt; pid(), socket =&amp;gt; inet:socket() | ssl:sslsocket(), transport =&amp;gt; tcp | tls, protocol =&amp;gt; http | http2 | socks | ws, sock_ip =&amp;gt; inet:ip_address(), sock_port =&amp;gt; inet:port_number(), origin_host =&amp;gt; inet:hostname() | inet:ip_address(), origin_port =&amp;gt; inet:port_number(), intermediaries =&amp;gt; [Intermediary] } Intermediary :: #{ type =&amp;gt; connect | socks5, host =&amp;gt; inet:hostname() | inet:ip_address(), port =&amp;gt; inet:port_number(), transport =&amp;gt; tcp | tls, protocol =&amp;gt; http | http2 | socks } Obtain information about the connection.</description>
+Description info(ConnPid) -&amp;gt; Info ConnPid :: pid() Info :: #{ owner =&amp;gt; pid(), socket =&amp;gt; inet:socket() | ssl:sslsocket(), transport =&amp;gt; tcp | tls, protocol =&amp;gt; http | http2 | socks | ws, sock_ip =&amp;gt; inet:ip_address(), sock_port =&amp;gt; inet:port_number(), origin_host =&amp;gt; inet:hostname() | inet:ip_address(), origin_port =&amp;gt; inet:port_number(), intermediaries =&amp;gt; [Intermediary], cookie_store =&amp;gt; gun_cookies:cookie_store() } Intermediary :: #{ type =&amp;gt; connect | socks5, host =&amp;gt; inet:hostname() | inet:ip_address(), port =&amp;gt; inet:port_number(), transport =&amp;gt; tcp | tls, protocol =&amp;gt; http | http2 | socks } Obtain information about the connection.</description>
</item>
<item>
@@ -10498,6 +10601,61 @@ HTTP/1.1 cannot handle Websocket and HTTP requests concurrently. The upgrade, if
</item>
<item>
+ <title>gun_cookies(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/2.0/manual/gun_cookies/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/2.0/manual/gun_cookies/</guid>
+ <description>Name gun_cookies - Cookie store engine
+Description The gun_cookies module implements a cookie store engine. It will be used by Gun when a cookie store is configured. It also defines the interface and provides functions used to implement cookie store backends.
+Callbacks Cookie store backends implement the following interface. Functions are organized by theme: initialization, querying, storing and garbage collecting:
+init init(Opts :: any()) -&amp;gt; gun_cookies:store() Initialize the cookie store.</description>
+ </item>
+
+ <item>
+ <title>gun_cookies:domain_match(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/2.0/manual/gun_cookies.domain_match/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/2.0/manual/gun_cookies.domain_match/</guid>
+ <description>Name gun_cookies:domain_match - Cookie domain match
+Description domain_match(String, DomainString) -&amp;gt; boolean() String :: binary() DomainString :: binary() Cookie domain match.
+This function can be used when implementing the set_cookie_secure_match callback of a cookie store.
+Arguments String The string to match.
+ DomainString The domain string that will be matched against.
+ Return value Returns true when String domain-matches DomainString, and false otherwise.
+Changelog 2.0: Function introduced. Examples Perform a domain match Match = gun_cookies:domain_match(Domain, CookieDomain).</description>
+ </item>
+
+ <item>
+ <title>gun_cookies:path_match(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/2.0/manual/gun_cookies.path_match/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/2.0/manual/gun_cookies.path_match/</guid>
+ <description>Name gun_cookies:path_match - Cookie path match
+Description path_match(ReqPath, CookiePath) -&amp;gt; boolean() ReqPath :: binary() CookiePath :: binary() Cookie path match.
+This function can be used when implementing the set_cookie_secure_match callback of a cookie store.
+Arguments ReqPath The request path to match.
+ CookiePath The cookie path that will be matched against.
+ Return value Returns true when ReqPath path-matches CookiePath, and false otherwise.
+Changelog 2.0: Function introduced. Examples Perform a path match Match = gun_cookies:path_match(ReqPath, CookiePath).</description>
+ </item>
+
+ <item>
+ <title>gun_cookies_list(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/2.0/manual/gun_cookies_list/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/2.0/manual/gun_cookies_list/</guid>
+ <description>Name gun_cookies_list - Cookie store backend: in-memory, per connection
+Description The gun_cookies_list module implements a cookie store backend that keeps all the cookie data in-memory and tied to a specific connection.
+It is possible to implement a custom backend on top of gun_cookies_list in order to add persistence or sharing properties.
+Exports This module implements the callbacks defined in gun_cookies(3).
+Types opts() opts() :: #{ } Cookie store backend options.</description>
+ </item>
+
+ <item>
<title>gun_data(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_data/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>