diff options
Diffstat (limited to 'index.xml')
-rw-r--r-- | index.xml | 168 |
1 files changed, 163 insertions, 5 deletions
@@ -81,8 +81,9 @@ Copyright (c) 2013-2018, Loïc Hoguin &lt;[email protected]&gt; 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&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 &lt;[email protected]&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 =&gt; calendar:datetime(), max_age =&gt; calendar:datetime(), domain =&gt; binary(), path =&gt; binary(), secure =&gt; true, http_only =&gt; true, same_site =&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) -&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([{&lt;&lt;"sessionid"&gt;&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()) -&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()) -&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()) -&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(&lt;&lt;"sessionid"&gt;&gt;, ID, #{ http_only =&gt; true, secure =&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) -&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) -&gt; Info ConnPid :: pid() Info :: #{ owner =&gt; pid(), socket =&gt; inet:socket() | ssl:sslsocket(), transport =&gt; tcp | tls, protocol =&gt; http | http2 | socks | ws, sock_ip =&gt; inet:ip_address(), sock_port =&gt; inet:port_number(), origin_host =&gt; inet:hostname() | inet:ip_address(), origin_port =&gt; inet:port_number(), intermediaries =&gt; [Intermediary] } Intermediary :: #{ type =&gt; connect | socks5, host =&gt; inet:hostname() | inet:ip_address(), port =&gt; inet:port_number(), transport =&gt; tcp | tls, protocol =&gt; http | http2 | socks } Obtain information about the connection.</description> +Description info(ConnPid) -&gt; Info ConnPid :: pid() Info :: #{ owner =&gt; pid(), socket =&gt; inet:socket() | ssl:sslsocket(), transport =&gt; tcp | tls, protocol =&gt; http | http2 | socks | ws, sock_ip =&gt; inet:ip_address(), sock_port =&gt; inet:port_number(), origin_host =&gt; inet:hostname() | inet:ip_address(), origin_port =&gt; inet:port_number(), intermediaries =&gt; [Intermediary], cookie_store =&gt; gun_cookies:cookie_store() } Intermediary :: #{ type =&gt; connect | socks5, host =&gt; inet:hostname() | inet:ip_address(), port =&gt; inet:port_number(), transport =&gt; tcp | tls, protocol =&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()) -&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) -&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) -&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> |