summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-09-17 16:05:10 +0200
committerLoïc Hoguin <[email protected]>2018-09-17 16:15:06 +0200
commit3d7d9e20fe46ed2839bc582d599abeac3ce19a8b (patch)
tree5af1b66bbf349498a297d185e374adec8038425f
parent4f85b718996b4080ca607742e23bcb5902e983e4 (diff)
downloadninenines.eu-3d7d9e20fe46ed2839bc582d599abeac3ce19a8b.tar.gz
ninenines.eu-3d7d9e20fe46ed2839bc582d599abeac3ce19a8b.tar.bz2
ninenines.eu-3d7d9e20fe46ed2839bc582d599abeac3ce19a8b.zip
Gun 1.2.0 and Ranch 1.6.2
-rw-r--r--_build/content/articles/gun-1.2.0.asciidoc35
-rw-r--r--_build/data/projects/gun.toml4
-rw-r--r--articles/asciideck/index.html4
-rw-r--r--articles/cowboy-2.0.0-pre.4/index.html4
-rw-r--r--articles/cowboy-2.0.0-rc.1/index.html4
-rw-r--r--articles/cowboy-2.0.0-rc.2/index.html4
-rw-r--r--articles/cowboy-2.0.0/index.html4
-rw-r--r--articles/cowboy-2.1.0/index.html4
-rw-r--r--articles/cowboy-2.2.0/index.html4
-rw-r--r--articles/cowboy-2.3.0/index.html4
-rw-r--r--articles/cowboy-2.4.0/index.html4
-rw-r--r--articles/cowboy2-qs/index.html4
-rw-r--r--articles/dont-let-it-crash/index.html4
-rw-r--r--articles/erlang-scalability/index.html4
-rw-r--r--articles/erlang-validate-utf8/index.html4
-rw-r--r--articles/erlang.mk-and-relx/index.html4
-rw-r--r--articles/erlanger-playbook-september-2015-update/index.html4
-rw-r--r--articles/erlanger-playbook/index.html4
-rw-r--r--articles/farwest-funded/index.html4
-rw-r--r--articles/gun-1.0.0-rc.1/index.html4
-rw-r--r--articles/gun-1.0.0/index.html4
-rw-r--r--articles/gun-1.2.0/index.html266
-rw-r--r--articles/index.html38
-rw-r--r--articles/index.xml15
-rw-r--r--articles/january-2014-status/index.html4
-rw-r--r--articles/ml-archives/index.html4
-rw-r--r--articles/on-open-source/index.html4
-rw-r--r--articles/page/2/index.html18
-rw-r--r--articles/ranch-1.3/index.html4
-rw-r--r--articles/ranch-1.6.0/index.html4
-rw-r--r--articles/ranch-ftp/index.html4
-rw-r--r--articles/the-elephant-in-the-room/index.html4
-rw-r--r--articles/the-story-so-far/index.html4
-rw-r--r--articles/tictactoe/index.html4
-rw-r--r--articles/website-update/index.html4
-rw-r--r--articles/xerl-0.1-empty-modules/index.html4
-rw-r--r--articles/xerl-0.2-two-modules/index.html4
-rw-r--r--articles/xerl-0.3-atomic-expressions/index.html4
-rw-r--r--articles/xerl-0.4-expression-separator/index.html4
-rw-r--r--articles/xerl-0.5-intermediate-module/index.html4
-rw-r--r--docs/en/gun/1.0/guide/connect/index.html2
-rw-r--r--docs/en/gun/1.0/guide/http/index.html2
-rw-r--r--docs/en/gun/1.0/guide/index.html2
-rw-r--r--docs/en/gun/1.0/guide/introduction/index.html2
-rw-r--r--docs/en/gun/1.0/guide/protocols/index.html2
-rw-r--r--docs/en/gun/1.0/guide/start/index.html2
-rw-r--r--docs/en/gun/1.0/guide/websocket/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.await/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.await_body/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.await_up/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.cancel/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.close/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.data/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.delete/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.flush/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.get/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.head/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.info/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.open/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.open_unix/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.options/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.patch/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.post/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.put/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.request/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.ws_send/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun.ws_upgrade/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_app/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_data/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_down/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_error/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_inform/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_push/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_response/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_trailers/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_up/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_upgrade/index.html2
-rw-r--r--docs/en/gun/1.0/manual/gun_ws/index.html2
-rw-r--r--docs/en/gun/1.0/manual/index.html2
-rw-r--r--docs/en/gun/1.1/guide/connect/index.html2
-rw-r--r--docs/en/gun/1.1/guide/http/index.html2
-rw-r--r--docs/en/gun/1.1/guide/index.html2
-rw-r--r--docs/en/gun/1.1/guide/introduction/index.html2
-rw-r--r--docs/en/gun/1.1/guide/migrating_from_1.0/index.html2
-rw-r--r--docs/en/gun/1.1/guide/protocols/index.html2
-rw-r--r--docs/en/gun/1.1/guide/start/index.html2
-rw-r--r--docs/en/gun/1.1/guide/websocket/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.await/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.await_body/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.await_up/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.cancel/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.close/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.data/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.delete/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.flush/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.get/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.head/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.info/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.open/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.open_unix/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.options/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.patch/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.post/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.put/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.request/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.ws_send/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun.ws_upgrade/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_app/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_data/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_down/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_error/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_inform/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_push/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_response/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_trailers/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_up/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_upgrade/index.html2
-rw-r--r--docs/en/gun/1.1/manual/gun_ws/index.html2
-rw-r--r--docs/en/gun/1.1/manual/index.html2
-rw-r--r--docs/en/gun/1.2/guide/connect.asciidoc160
-rw-r--r--docs/en/gun/1.2/guide/connect/index.html256
-rw-r--r--docs/en/gun/1.2/guide/gun.sty8
-rw-r--r--docs/en/gun/1.2/guide/http.asciidoc390
-rw-r--r--docs/en/gun/1.2/guide/http/index.html431
-rw-r--r--docs/en/gun/1.2/guide/index.html157
-rw-r--r--docs/en/gun/1.2/guide/introduction.asciidoc52
-rw-r--r--docs/en/gun/1.2/guide/introduction/index.html183
-rw-r--r--docs/en/gun/1.2/guide/migrating_from_1.0.asciidoc21
-rw-r--r--docs/en/gun/1.2/guide/migrating_from_1.0/index.html168
-rw-r--r--docs/en/gun/1.2/guide/migrating_from_1.1.asciidoc28
-rw-r--r--docs/en/gun/1.2/guide/migrating_from_1.1/index.html174
-rw-r--r--docs/en/gun/1.2/guide/protocols.asciidoc127
-rw-r--r--docs/en/gun/1.2/guide/protocols/index.html310
-rw-r--r--docs/en/gun/1.2/guide/start.asciidoc43
-rw-r--r--docs/en/gun/1.2/guide/start/index.html189
-rw-r--r--docs/en/gun/1.2/guide/websocket.asciidoc117
-rw-r--r--docs/en/gun/1.2/guide/websocket/index.html240
-rw-r--r--docs/en/gun/1.2/manual/gun.await/index.html224
-rw-r--r--docs/en/gun/1.2/manual/gun.await_body/index.html200
-rw-r--r--docs/en/gun/1.2/manual/gun.await_up/index.html192
-rw-r--r--docs/en/gun/1.2/manual/gun.cancel/index.html178
-rw-r--r--docs/en/gun/1.2/manual/gun.close/index.html170
-rw-r--r--docs/en/gun/1.2/manual/gun.connect/index.html231
-rw-r--r--docs/en/gun/1.2/manual/gun.data/index.html189
-rw-r--r--docs/en/gun/1.2/manual/gun.delete/index.html198
-rw-r--r--docs/en/gun/1.2/manual/gun.flush/index.html183
-rw-r--r--docs/en/gun/1.2/manual/gun.get/index.html201
-rw-r--r--docs/en/gun/1.2/manual/gun.head/index.html203
-rw-r--r--docs/en/gun/1.2/manual/gun.info/index.html174
-rw-r--r--docs/en/gun/1.2/manual/gun.open/index.html194
-rw-r--r--docs/en/gun/1.2/manual/gun.open_unix/index.html182
-rw-r--r--docs/en/gun/1.2/manual/gun.options/index.html198
-rw-r--r--docs/en/gun/1.2/manual/gun.patch/index.html221
-rw-r--r--docs/en/gun/1.2/manual/gun.post/index.html219
-rw-r--r--docs/en/gun/1.2/manual/gun.put/index.html219
-rw-r--r--docs/en/gun/1.2/manual/gun.request/index.html205
-rw-r--r--docs/en/gun/1.2/manual/gun.ws_send/index.html187
-rw-r--r--docs/en/gun/1.2/manual/gun.ws_upgrade/index.html211
-rw-r--r--docs/en/gun/1.2/manual/gun/index.html397
-rw-r--r--docs/en/gun/1.2/manual/gun_app/index.html163
-rw-r--r--docs/en/gun/1.2/manual/gun_data/index.html187
-rw-r--r--docs/en/gun/1.2/manual/gun_down/index.html193
-rw-r--r--docs/en/gun/1.2/manual/gun_error/index.html186
-rw-r--r--docs/en/gun/1.2/manual/gun_inform/index.html186
-rw-r--r--docs/en/gun/1.2/manual/gun_push/index.html206
-rw-r--r--docs/en/gun/1.2/manual/gun_response/index.html189
-rw-r--r--docs/en/gun/1.2/manual/gun_trailers/index.html181
-rw-r--r--docs/en/gun/1.2/manual/gun_up/index.html177
-rw-r--r--docs/en/gun/1.2/manual/gun_upgrade/index.html187
-rw-r--r--docs/en/gun/1.2/manual/gun_ws/index.html183
-rw-r--r--docs/en/gun/1.2/manual/index.html163
-rw-r--r--docs/en/ranch/1.6/guide/migrating_from_1.6.asciidoc5
-rw-r--r--docs/en/ranch/1.6/guide/migrating_from_1.6/index.html2
-rw-r--r--docs/index.html7
-rw-r--r--docs/index.xml518
-rw-r--r--donate/index.html88
-rw-r--r--index.html92
-rw-r--r--index.xml533
-rw-r--r--services/index.html88
-rw-r--r--sitemap.xml181
182 files changed, 11993 insertions, 26 deletions
diff --git a/_build/content/articles/gun-1.2.0.asciidoc b/_build/content/articles/gun-1.2.0.asciidoc
new file mode 100644
index 00000000..45876a31
--- /dev/null
+++ b/_build/content/articles/gun-1.2.0.asciidoc
@@ -0,0 +1,35 @@
++++
+date = "2018-09-17T10:00:00+01:00"
+title = "Gun 1.2"
+
++++
+
+Gun `1.2.0` has been released!
+
+Gun is an HTTP/1.1, HTTP/2 and Websocket client
+for Erlang/OTP.
+
+Gun now supports issuing CONNECT requests to HTTP
+proxies in order to establish tunnels to origin
+servers. Gun can establish tunnels over one or
+more proxies as necessary.
+
+All existing protocols can be used inside the tunnel,
+including HTTP/1.1, HTTP/2 and Websocket over both
+TCP and TLS connections.
+
+Note that it is currently not possible to tunnel
+a TLS connection via an HTTPS proxy due to
+limitations in the current version of Erlang/OTP.
+
+A complete
+list of changes can be found in the migration guide:
+https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/[Migrating from Gun 1.1 to 1.2].
+
+You can donate to this project via
+https://salt.bountysource.com/teams/ninenines[BountySource].
+These funds are used to pay for additional servers for
+testing. And healthy food.
+
+As usual, feedback is appreciated, and issues or
+questions should be sent via Github tickets. Thanks!
diff --git a/_build/data/projects/gun.toml b/_build/data/projects/gun.toml
index 0d773d90..17e8d0a6 100644
--- a/_build/data/projects/gun.toml
+++ b/_build/data/projects/gun.toml
@@ -3,8 +3,8 @@ catchphrase = "The smoking gun of HTTP clients."
description = "Asynchronous, always-connected client with support for HTTP/1.1, HTTP/2 and Websocket."
name = "gun"
repository = "https://github.com/ninenines/gun"
-versions = ["1.1", "1.0"]
-branches = ["master", "1.0.0"]
+versions = ["1.2", "1.1", "1.0"]
+branches = ["master", "1.1.0", "1.0.0"]
has_source = true
has_guide = true
has_manual = true
diff --git a/articles/asciideck/index.html b/articles/asciideck/index.html
index f1c08cb1..c1827bb9 100644
--- a/articles/asciideck/index.html
+++ b/articles/asciideck/index.html
@@ -108,6 +108,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy-2.0.0-pre.4/index.html b/articles/cowboy-2.0.0-pre.4/index.html
index b260101a..0dc7bde7 100644
--- a/articles/cowboy-2.0.0-pre.4/index.html
+++ b/articles/cowboy-2.0.0-pre.4/index.html
@@ -127,6 +127,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy-2.0.0-rc.1/index.html b/articles/cowboy-2.0.0-rc.1/index.html
index 3fce8e3d..3d13a11c 100644
--- a/articles/cowboy-2.0.0-rc.1/index.html
+++ b/articles/cowboy-2.0.0-rc.1/index.html
@@ -98,6 +98,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy-2.0.0-rc.2/index.html b/articles/cowboy-2.0.0-rc.2/index.html
index 5ec240cf..987fed83 100644
--- a/articles/cowboy-2.0.0-rc.2/index.html
+++ b/articles/cowboy-2.0.0-rc.2/index.html
@@ -91,6 +91,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy-2.0.0/index.html b/articles/cowboy-2.0.0/index.html
index 6fb23b56..72787a70 100644
--- a/articles/cowboy-2.0.0/index.html
+++ b/articles/cowboy-2.0.0/index.html
@@ -97,6 +97,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy-2.1.0/index.html b/articles/cowboy-2.1.0/index.html
index 3b1e2b7c..97f71640 100644
--- a/articles/cowboy-2.1.0/index.html
+++ b/articles/cowboy-2.1.0/index.html
@@ -94,6 +94,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy-2.2.0/index.html b/articles/cowboy-2.2.0/index.html
index 2cc41b00..eec4244d 100644
--- a/articles/cowboy-2.2.0/index.html
+++ b/articles/cowboy-2.2.0/index.html
@@ -92,6 +92,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy-2.3.0/index.html b/articles/cowboy-2.3.0/index.html
index 334be95f..661af83c 100644
--- a/articles/cowboy-2.3.0/index.html
+++ b/articles/cowboy-2.3.0/index.html
@@ -84,6 +84,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy-2.4.0/index.html b/articles/cowboy-2.4.0/index.html
index ba541d47..701d7227 100644
--- a/articles/cowboy-2.4.0/index.html
+++ b/articles/cowboy-2.4.0/index.html
@@ -86,6 +86,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/cowboy2-qs/index.html b/articles/cowboy2-qs/index.html
index a3502cb4..069e5073 100644
--- a/articles/cowboy2-qs/index.html
+++ b/articles/cowboy2-qs/index.html
@@ -128,6 +128,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/dont-let-it-crash/index.html b/articles/dont-let-it-crash/index.html
index b0bfe15c..6ec381b4 100644
--- a/articles/dont-let-it-crash/index.html
+++ b/articles/dont-let-it-crash/index.html
@@ -103,6 +103,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/erlang-scalability/index.html b/articles/erlang-scalability/index.html
index af8b71f3..1a5b7dc4 100644
--- a/articles/erlang-scalability/index.html
+++ b/articles/erlang-scalability/index.html
@@ -115,6 +115,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/erlang-validate-utf8/index.html b/articles/erlang-validate-utf8/index.html
index b003a339..e6e02e6c 100644
--- a/articles/erlang-validate-utf8/index.html
+++ b/articles/erlang-validate-utf8/index.html
@@ -231,6 +231,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/erlang.mk-and-relx/index.html b/articles/erlang.mk-and-relx/index.html
index f29b9c73..8e5c0246 100644
--- a/articles/erlang.mk-and-relx/index.html
+++ b/articles/erlang.mk-and-relx/index.html
@@ -141,6 +141,10 @@ cowboy-0.8.5 erlydtl-0.7.0 ninenines-0.2.0 stdlib-1.19.1</pre></div></div>
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/erlanger-playbook-september-2015-update/index.html b/articles/erlanger-playbook-september-2015-update/index.html
index ecdbb26f..8ab47c76 100644
--- a/articles/erlanger-playbook-september-2015-update/index.html
+++ b/articles/erlanger-playbook-september-2015-update/index.html
@@ -86,6 +86,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/erlanger-playbook/index.html b/articles/erlanger-playbook/index.html
index c75aee55..9ed27659 100644
--- a/articles/erlanger-playbook/index.html
+++ b/articles/erlanger-playbook/index.html
@@ -119,6 +119,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/farwest-funded/index.html b/articles/farwest-funded/index.html
index 9362af7d..8d992f86 100644
--- a/articles/farwest-funded/index.html
+++ b/articles/farwest-funded/index.html
@@ -87,6 +87,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/gun-1.0.0-rc.1/index.html b/articles/gun-1.0.0-rc.1/index.html
index 5c1910bc..18cfa34a 100644
--- a/articles/gun-1.0.0-rc.1/index.html
+++ b/articles/gun-1.0.0-rc.1/index.html
@@ -88,6 +88,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/gun-1.0.0/index.html b/articles/gun-1.0.0/index.html
index f697ab7e..642ad5f0 100644
--- a/articles/gun-1.0.0/index.html
+++ b/articles/gun-1.0.0/index.html
@@ -87,6 +87,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/gun-1.2.0/index.html b/articles/gun-1.2.0/index.html
new file mode 100644
index 00000000..e8829530
--- /dev/null
+++ b/articles/gun-1.2.0/index.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Gun 1.2</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li class="active"><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents">
+<div class="container">
+<div class="row">
+<div class="span9 maincol">
+
+<article class="blog_item">
+<header>
+ <h1 class="lined-header"><span>Gun 1.2</span></h1>
+ <p class="date">
+ <span class="year">2018</span>
+ <span class="day-month">17 Sep</span>
+ </p>
+</header>
+
+<p>Gun <code>1.2.0</code> has been released!</p>
+<p>Gun is an HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.</p>
+<p>Gun now supports issuing CONNECT requests to HTTP proxies in order to establish tunnels to origin servers. Gun can establish tunnels over one or more proxies as necessary.</p>
+<p>All existing protocols can be used inside the tunnel, including HTTP/1.1, HTTP/2 and Websocket over both TCP and TLS connections.</p>
+<p>Note that it is currently not possible to tunnel a TLS connection via an HTTPS proxy due to limitations in the current version of Erlang/OTP.</p>
+<p>A complete list of changes can be found in the migration guide: <a href="https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/">Migrating from Gun 1.1 to 1.2</a>.</p>
+<p>You can donate to this project via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a>. These funds are used to pay for additional servers for testing. And healthy food.</p>
+<p>As usual, feedback is appreciated, and issues or questions should be sent via Github tickets. Thanks!</p>
+
+
+</article>
+</div>
+
+<div class="span3 sidecol">
+<h3>More articles</h3>
+<ul id="articles-nav" class="extra_margin">
+
+
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/gun-1.0.0/">Gun 1.0</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/asciideck/">Asciideck: Asciidoc for Erlang</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/gun-1.0.0-rc.1/">Gun 1.0 release candidate 1</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.4.0/">Cowboy 2.4</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.3.0/">Cowboy 2.3</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.2.0/">Cowboy 2.2</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.1.0/">Cowboy 2.1</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.0.0/">Cowboy 2.0</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.2/">Cowboy 2.0 release candidate 2</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.1/">Cowboy 2.0 release candidate 1</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/the-elephant-in-the-room/">The elephant in the room</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don&#39;t let it crash</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ml-archives/">Mailing list archived</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/website-update/">Website update</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlanger-playbook-september-2015-update/">The Erlanger Playbook September 2015 Update</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlanger-playbook/">The Erlanger Playbook</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/on-open-source/">On open source</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/the-story-so-far/">The story so far</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/cowboy2-qs/">Cowboy 2.0 and query strings</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/january-2014-status/">January 2014 status</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/farwest-funded/">Farwest got funded!</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlang.mk-and-relx/">Build Erlang releases with Erlang.mk and Relx</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/erlang-scalability/">Erlang Scalability</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.3-atomic-expressions/">Xerl: atomic expressions</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.2-two-modules/">Xerl: two modules</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/xerl-0.1-empty-modules/">Xerl: empty modules</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></li>
+
+
+
+ <li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
+
+
+
+
+</ul>
+
+<h3>Feedback</h3>
+<p>Feel free to <a href="mailto:[email protected]">email us</a>
+if you found any mistake or need clarification on any of the
+articles.</p>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
diff --git a/articles/index.html b/articles/index.html
index 62f18a65..de08d78d 100644
--- a/articles/index.html
+++ b/articles/index.html
@@ -67,6 +67,26 @@
<article class="blog_item">
<header>
+ <h2><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></h2>
+ <p class="date">
+ <span class="year">2018</span>
+ <span class="day-month">17 Sep</span>
+ </p>
+ </header>
+
+ <p>Gun 1.2.0 has been released!
+Gun is an HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
+Gun now supports issuing CONNECT requests to HTTP proxies in order to establish tunnels to origin servers. Gun can establish tunnels over one or more proxies as necessary.
+All existing protocols can be used inside the tunnel, including HTTP/1.1, HTTP/2 and Websocket over both TCP and TLS connections.
+Note that it is currently not possible to tunnel a TLS connection via an HTTPS proxy due to limitations in the current version of Erlang/OTP.</p>
+
+ <p style="text-align:right">
+ <a class="read_more" href="https://ninenines.eu/articles/gun-1.2.0/">Read More</a>
+ </p>
+ </article>
+
+ <article class="blog_item">
+ <header>
<h2><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></h2>
<p class="date">
<span class="year">2018</span>
@@ -416,24 +436,6 @@ About this book; Changelog; Future additions Erlang: Building blocks; Patterns
</p>
</article>
- <article class="blog_item">
- <header>
- <h2><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></h2>
- <p class="date">
- <span class="year">2015</span>
- <span class="day-month">06 Mar</span>
- </p>
- </header>
-
- <p>Yesterday I pushed Websocket permessage-deflate to Cowboy master. I also pushed a change in the way the code validates UTF-8 data (required for text and close frames as per the spec).
-When looking into why the permessage-deflate tests in autobahntestsuite were taking such a long time, I found that autobahn is using an adaptation of the algorithm named Flexible and Economical UTF-8 Decoder. This is the C99 implementation:
-// Copyright (c) 2008-2009 Bjoern Hoehrmann &lt;bjoern@hoehrmann.</p>
-
- <p style="text-align:right">
- <a class="read_more" href="https://ninenines.eu/articles/erlang-validate-utf8/">Read More</a>
- </p>
- </article>
-
<nav class="pagination" role="pagination">
diff --git a/articles/index.xml b/articles/index.xml
index a5f81f93..8c321eec 100644
--- a/articles/index.xml
+++ b/articles/index.xml
@@ -6,12 +6,25 @@
<description>Recent content in Articles on Nine Nines</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
- <lastBuildDate>Wed, 01 Aug 2018 10:00:00 +0100</lastBuildDate>
+ <lastBuildDate>Mon, 17 Sep 2018 10:00:00 +0100</lastBuildDate>
<atom:link href="https://ninenines.eu/articles/index.xml" rel="self" type="application/rss+xml" />
<item>
+ <title>Gun 1.2</title>
+ <link>https://ninenines.eu/articles/gun-1.2.0/</link>
+ <pubDate>Mon, 17 Sep 2018 10:00:00 +0100</pubDate>
+
+ <guid>https://ninenines.eu/articles/gun-1.2.0/</guid>
+ <description>Gun 1.2.0 has been released!
+Gun is an HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
+Gun now supports issuing CONNECT requests to HTTP proxies in order to establish tunnels to origin servers. Gun can establish tunnels over one or more proxies as necessary.
+All existing protocols can be used inside the tunnel, including HTTP/1.1, HTTP/2 and Websocket over both TCP and TLS connections.
+Note that it is currently not possible to tunnel a TLS connection via an HTTPS proxy due to limitations in the current version of Erlang/OTP.</description>
+ </item>
+
+ <item>
<title>Ranch 1.6</title>
<link>https://ninenines.eu/articles/ranch-1.6.0/</link>
<pubDate>Wed, 01 Aug 2018 10:00:00 +0100</pubDate>
diff --git a/articles/january-2014-status/index.html b/articles/january-2014-status/index.html
index d1a6d381..baeae0fd 100644
--- a/articles/january-2014-status/index.html
+++ b/articles/january-2014-status/index.html
@@ -113,6 +113,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/ml-archives/index.html b/articles/ml-archives/index.html
index 3d8b952b..69518aaf 100644
--- a/articles/ml-archives/index.html
+++ b/articles/ml-archives/index.html
@@ -84,6 +84,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/on-open-source/index.html b/articles/on-open-source/index.html
index 039b4410..6f7f36b6 100644
--- a/articles/on-open-source/index.html
+++ b/articles/on-open-source/index.html
@@ -96,6 +96,10 @@ much left to look at today</a>. This was followed by a <a href="https://github.c
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/page/2/index.html b/articles/page/2/index.html
index 27d318a3..285bf64a 100644
--- a/articles/page/2/index.html
+++ b/articles/page/2/index.html
@@ -67,6 +67,24 @@
<article class="blog_item">
<header>
+ <h2><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></h2>
+ <p class="date">
+ <span class="year">2015</span>
+ <span class="day-month">06 Mar</span>
+ </p>
+ </header>
+
+ <p>Yesterday I pushed Websocket permessage-deflate to Cowboy master. I also pushed a change in the way the code validates UTF-8 data (required for text and close frames as per the spec).
+When looking into why the permessage-deflate tests in autobahntestsuite were taking such a long time, I found that autobahn is using an adaptation of the algorithm named Flexible and Economical UTF-8 Decoder. This is the C99 implementation:
+// Copyright (c) 2008-2009 Bjoern Hoehrmann &lt;bjoern@hoehrmann.</p>
+
+ <p style="text-align:right">
+ <a class="read_more" href="https://ninenines.eu/articles/erlang-validate-utf8/">Read More</a>
+ </p>
+ </article>
+
+ <article class="blog_item">
+ <header>
<h2><a href="https://ninenines.eu/articles/on-open-source/">On open source</a></h2>
<p class="date">
<span class="year">2014</span>
diff --git a/articles/ranch-1.3/index.html b/articles/ranch-1.3/index.html
index da972fec..e3a2c12b 100644
--- a/articles/ranch-1.3/index.html
+++ b/articles/ranch-1.3/index.html
@@ -125,6 +125,10 @@ Primary key fingerprint<font color="#990000">:</font> F19F 189C ECC7 <font color
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/ranch-1.6.0/index.html b/articles/ranch-1.6.0/index.html
index 9057274d..cbe91a26 100644
--- a/articles/ranch-1.6.0/index.html
+++ b/articles/ranch-1.6.0/index.html
@@ -87,6 +87,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/ranch-ftp/index.html b/articles/ranch-ftp/index.html
index f942d51e..41f9419c 100644
--- a/articles/ranch-ftp/index.html
+++ b/articles/ranch-ftp/index.html
@@ -227,6 +227,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/the-elephant-in-the-room/index.html b/articles/the-elephant-in-the-room/index.html
index 3c9bcf04..683396b7 100644
--- a/articles/the-elephant-in-the-room/index.html
+++ b/articles/the-elephant-in-the-room/index.html
@@ -109,6 +109,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/the-story-so-far/index.html b/articles/the-story-so-far/index.html
index 40cf20fc..50707f8f 100644
--- a/articles/the-story-so-far/index.html
+++ b/articles/the-story-so-far/index.html
@@ -100,6 +100,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/tictactoe/index.html b/articles/tictactoe/index.html
index 3023f8a1..a7ec840f 100644
--- a/articles/tictactoe/index.html
+++ b/articles/tictactoe/index.html
@@ -132,6 +132,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/website-update/index.html b/articles/website-update/index.html
index 66b17c01..06cd6ef3 100644
--- a/articles/website-update/index.html
+++ b/articles/website-update/index.html
@@ -89,6 +89,10 @@
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/xerl-0.1-empty-modules/index.html b/articles/xerl-0.1-empty-modules/index.html
index 3a0c70c5..52b119dc 100644
--- a/articles/xerl-0.1-empty-modules/index.html
+++ b/articles/xerl-0.1-empty-modules/index.html
@@ -167,6 +167,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/xerl-0.2-two-modules/index.html b/articles/xerl-0.2-two-modules/index.html
index f8b6f89d..f5fa8ac8 100644
--- a/articles/xerl-0.2-two-modules/index.html
+++ b/articles/xerl-0.2-two-modules/index.html
@@ -195,6 +195,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/xerl-0.3-atomic-expressions/index.html b/articles/xerl-0.3-atomic-expressions/index.html
index 3ab45390..5fb88923 100644
--- a/articles/xerl-0.3-atomic-expressions/index.html
+++ b/articles/xerl-0.3-atomic-expressions/index.html
@@ -164,6 +164,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/xerl-0.4-expression-separator/index.html b/articles/xerl-0.4-expression-separator/index.html
index 8917fc27..fa112671 100644
--- a/articles/xerl-0.4-expression-separator/index.html
+++ b/articles/xerl-0.4-expression-separator/index.html
@@ -116,6 +116,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/articles/xerl-0.5-intermediate-module/index.html b/articles/xerl-0.5-intermediate-module/index.html
index 87e55d04..eb220ed6 100644
--- a/articles/xerl-0.5-intermediate-module/index.html
+++ b/articles/xerl-0.5-intermediate-module/index.html
@@ -160,6 +160,10 @@ http://www.gnu.org/software/src-highlite -->
<ul id="articles-nav" class="extra_margin">
+ <li><a href="https://ninenines.eu/articles/gun-1.2.0/">Gun 1.2</a></li>
+
+
+
<li><a href="https://ninenines.eu/articles/ranch-1.6.0/">Ranch 1.6</a></li>
diff --git a/docs/en/gun/1.0/guide/connect/index.html b/docs/en/gun/1.0/guide/connect/index.html
index 42716037..8930838d 100644
--- a/docs/en/gun/1.0/guide/connect/index.html
+++ b/docs/en/gun/1.0/guide/connect/index.html
@@ -216,6 +216,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.0/guide/http/index.html b/docs/en/gun/1.0/guide/http/index.html
index 73789760..204b19ff 100644
--- a/docs/en/gun/1.0/guide/http/index.html
+++ b/docs/en/gun/1.0/guide/http/index.html
@@ -391,6 +391,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.0/guide/index.html b/docs/en/gun/1.0/guide/index.html
index e6f61463..6e5b333c 100644
--- a/docs/en/gun/1.0/guide/index.html
+++ b/docs/en/gun/1.0/guide/index.html
@@ -110,6 +110,8 @@
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.0/guide/introduction/index.html b/docs/en/gun/1.0/guide/introduction/index.html
index f09358a0..e9f8f2dd 100644
--- a/docs/en/gun/1.0/guide/introduction/index.html
+++ b/docs/en/gun/1.0/guide/introduction/index.html
@@ -143,6 +143,8 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</pre></div></div>
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.0/guide/protocols/index.html b/docs/en/gun/1.0/guide/protocols/index.html
index 9fcc7fed..36db85ae 100644
--- a/docs/en/gun/1.0/guide/protocols/index.html
+++ b/docs/en/gun/1.0/guide/protocols/index.html
@@ -270,6 +270,8 @@
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.0/guide/start/index.html b/docs/en/gun/1.0/guide/start/index.html
index 85b76d27..f8a5e8fc 100644
--- a/docs/en/gun/1.0/guide/start/index.html
+++ b/docs/en/gun/1.0/guide/start/index.html
@@ -149,6 +149,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.0/guide/websocket/index.html b/docs/en/gun/1.0/guide/websocket/index.html
index 901744a0..7b5ea381 100644
--- a/docs/en/gun/1.0/guide/websocket/index.html
+++ b/docs/en/gun/1.0/guide/websocket/index.html
@@ -196,6 +196,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.await/index.html b/docs/en/gun/1.0/manual/gun.await/index.html
index d4e63d10..e4f096c4 100644
--- a/docs/en/gun/1.0/manual/gun.await/index.html
+++ b/docs/en/gun/1.0/manual/gun.await/index.html
@@ -184,6 +184,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.await_body/index.html b/docs/en/gun/1.0/manual/gun.await_body/index.html
index 25bf5d0b..f2aa458f 100644
--- a/docs/en/gun/1.0/manual/gun.await_body/index.html
+++ b/docs/en/gun/1.0/manual/gun.await_body/index.html
@@ -160,6 +160,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.await_up/index.html b/docs/en/gun/1.0/manual/gun.await_up/index.html
index 2e934995..95f77846 100644
--- a/docs/en/gun/1.0/manual/gun.await_up/index.html
+++ b/docs/en/gun/1.0/manual/gun.await_up/index.html
@@ -152,6 +152,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.cancel/index.html b/docs/en/gun/1.0/manual/gun.cancel/index.html
index 9c568fa8..0833f57b 100644
--- a/docs/en/gun/1.0/manual/gun.cancel/index.html
+++ b/docs/en/gun/1.0/manual/gun.cancel/index.html
@@ -138,6 +138,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.close/index.html b/docs/en/gun/1.0/manual/gun.close/index.html
index 9ef58a70..c24b3e56 100644
--- a/docs/en/gun/1.0/manual/gun.close/index.html
+++ b/docs/en/gun/1.0/manual/gun.close/index.html
@@ -130,6 +130,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.data/index.html b/docs/en/gun/1.0/manual/gun.data/index.html
index 1dcc6f21..8a41e054 100644
--- a/docs/en/gun/1.0/manual/gun.data/index.html
+++ b/docs/en/gun/1.0/manual/gun.data/index.html
@@ -149,6 +149,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.delete/index.html b/docs/en/gun/1.0/manual/gun.delete/index.html
index 4c4145a1..f468b755 100644
--- a/docs/en/gun/1.0/manual/gun.delete/index.html
+++ b/docs/en/gun/1.0/manual/gun.delete/index.html
@@ -158,6 +158,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.flush/index.html b/docs/en/gun/1.0/manual/gun.flush/index.html
index 25b9f405..4f6f624b 100644
--- a/docs/en/gun/1.0/manual/gun.flush/index.html
+++ b/docs/en/gun/1.0/manual/gun.flush/index.html
@@ -143,6 +143,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.get/index.html b/docs/en/gun/1.0/manual/gun.get/index.html
index dad2fd42..cbe1ad0b 100644
--- a/docs/en/gun/1.0/manual/gun.get/index.html
+++ b/docs/en/gun/1.0/manual/gun.get/index.html
@@ -161,6 +161,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.head/index.html b/docs/en/gun/1.0/manual/gun.head/index.html
index e109da6e..87cbfd37 100644
--- a/docs/en/gun/1.0/manual/gun.head/index.html
+++ b/docs/en/gun/1.0/manual/gun.head/index.html
@@ -163,6 +163,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.info/index.html b/docs/en/gun/1.0/manual/gun.info/index.html
index 30b8aa44..e16880fe 100644
--- a/docs/en/gun/1.0/manual/gun.info/index.html
+++ b/docs/en/gun/1.0/manual/gun.info/index.html
@@ -134,6 +134,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.open/index.html b/docs/en/gun/1.0/manual/gun.open/index.html
index 0bd0bc5a..a10ca71a 100644
--- a/docs/en/gun/1.0/manual/gun.open/index.html
+++ b/docs/en/gun/1.0/manual/gun.open/index.html
@@ -154,6 +154,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.open_unix/index.html b/docs/en/gun/1.0/manual/gun.open_unix/index.html
index cbbc1ac5..eb3c26b2 100644
--- a/docs/en/gun/1.0/manual/gun.open_unix/index.html
+++ b/docs/en/gun/1.0/manual/gun.open_unix/index.html
@@ -142,6 +142,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.options/index.html b/docs/en/gun/1.0/manual/gun.options/index.html
index 58ba72e4..f1b904e1 100644
--- a/docs/en/gun/1.0/manual/gun.options/index.html
+++ b/docs/en/gun/1.0/manual/gun.options/index.html
@@ -158,6 +158,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.patch/index.html b/docs/en/gun/1.0/manual/gun.patch/index.html
index ee6c00f4..63d1f7cb 100644
--- a/docs/en/gun/1.0/manual/gun.patch/index.html
+++ b/docs/en/gun/1.0/manual/gun.patch/index.html
@@ -181,6 +181,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.post/index.html b/docs/en/gun/1.0/manual/gun.post/index.html
index c5ddb488..53627024 100644
--- a/docs/en/gun/1.0/manual/gun.post/index.html
+++ b/docs/en/gun/1.0/manual/gun.post/index.html
@@ -179,6 +179,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.put/index.html b/docs/en/gun/1.0/manual/gun.put/index.html
index 91a739d1..4d689f79 100644
--- a/docs/en/gun/1.0/manual/gun.put/index.html
+++ b/docs/en/gun/1.0/manual/gun.put/index.html
@@ -179,6 +179,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.request/index.html b/docs/en/gun/1.0/manual/gun.request/index.html
index 84a097ea..cdce7a36 100644
--- a/docs/en/gun/1.0/manual/gun.request/index.html
+++ b/docs/en/gun/1.0/manual/gun.request/index.html
@@ -165,6 +165,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.ws_send/index.html b/docs/en/gun/1.0/manual/gun.ws_send/index.html
index a0aa38d3..77f54399 100644
--- a/docs/en/gun/1.0/manual/gun.ws_send/index.html
+++ b/docs/en/gun/1.0/manual/gun.ws_send/index.html
@@ -147,6 +147,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun.ws_upgrade/index.html b/docs/en/gun/1.0/manual/gun.ws_upgrade/index.html
index 955287cb..60e364c3 100644
--- a/docs/en/gun/1.0/manual/gun.ws_upgrade/index.html
+++ b/docs/en/gun/1.0/manual/gun.ws_upgrade/index.html
@@ -171,6 +171,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun/index.html b/docs/en/gun/1.0/manual/gun/index.html
index d1a87b92..75ad3819 100644
--- a/docs/en/gun/1.0/manual/gun/index.html
+++ b/docs/en/gun/1.0/manual/gun/index.html
@@ -309,6 +309,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_app/index.html b/docs/en/gun/1.0/manual/gun_app/index.html
index 159d7208..301da7c4 100644
--- a/docs/en/gun/1.0/manual/gun_app/index.html
+++ b/docs/en/gun/1.0/manual/gun_app/index.html
@@ -123,6 +123,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_data/index.html b/docs/en/gun/1.0/manual/gun_data/index.html
index ad158aae..e4510042 100644
--- a/docs/en/gun/1.0/manual/gun_data/index.html
+++ b/docs/en/gun/1.0/manual/gun_data/index.html
@@ -147,6 +147,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_down/index.html b/docs/en/gun/1.0/manual/gun_down/index.html
index cfba7154..8e7119c4 100644
--- a/docs/en/gun/1.0/manual/gun_down/index.html
+++ b/docs/en/gun/1.0/manual/gun_down/index.html
@@ -153,6 +153,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_error/index.html b/docs/en/gun/1.0/manual/gun_error/index.html
index a8bbd14f..79d20f08 100644
--- a/docs/en/gun/1.0/manual/gun_error/index.html
+++ b/docs/en/gun/1.0/manual/gun_error/index.html
@@ -146,6 +146,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_inform/index.html b/docs/en/gun/1.0/manual/gun_inform/index.html
index 3b5687f6..7d2f951c 100644
--- a/docs/en/gun/1.0/manual/gun_inform/index.html
+++ b/docs/en/gun/1.0/manual/gun_inform/index.html
@@ -146,6 +146,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_push/index.html b/docs/en/gun/1.0/manual/gun_push/index.html
index 139036fa..bb8da989 100644
--- a/docs/en/gun/1.0/manual/gun_push/index.html
+++ b/docs/en/gun/1.0/manual/gun_push/index.html
@@ -166,6 +166,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_response/index.html b/docs/en/gun/1.0/manual/gun_response/index.html
index 0f98dab5..4b8556a2 100644
--- a/docs/en/gun/1.0/manual/gun_response/index.html
+++ b/docs/en/gun/1.0/manual/gun_response/index.html
@@ -149,6 +149,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_trailers/index.html b/docs/en/gun/1.0/manual/gun_trailers/index.html
index cc8964ac..4410603b 100644
--- a/docs/en/gun/1.0/manual/gun_trailers/index.html
+++ b/docs/en/gun/1.0/manual/gun_trailers/index.html
@@ -141,6 +141,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_up/index.html b/docs/en/gun/1.0/manual/gun_up/index.html
index 0b8f71e6..8111dfbd 100644
--- a/docs/en/gun/1.0/manual/gun_up/index.html
+++ b/docs/en/gun/1.0/manual/gun_up/index.html
@@ -137,6 +137,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_upgrade/index.html b/docs/en/gun/1.0/manual/gun_upgrade/index.html
index ab20de64..44d06e69 100644
--- a/docs/en/gun/1.0/manual/gun_upgrade/index.html
+++ b/docs/en/gun/1.0/manual/gun_upgrade/index.html
@@ -147,6 +147,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/gun_ws/index.html b/docs/en/gun/1.0/manual/gun_ws/index.html
index 16bffc6f..66b77f0b 100644
--- a/docs/en/gun/1.0/manual/gun_ws/index.html
+++ b/docs/en/gun/1.0/manual/gun_ws/index.html
@@ -143,6 +143,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.0/manual/index.html b/docs/en/gun/1.0/manual/index.html
index f84243ff..44d87877 100644
--- a/docs/en/gun/1.0/manual/index.html
+++ b/docs/en/gun/1.0/manual/index.html
@@ -123,6 +123,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/guide/connect/index.html b/docs/en/gun/1.1/guide/connect/index.html
index 3f533a20..1808e795 100644
--- a/docs/en/gun/1.1/guide/connect/index.html
+++ b/docs/en/gun/1.1/guide/connect/index.html
@@ -216,6 +216,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.1/guide/http/index.html b/docs/en/gun/1.1/guide/http/index.html
index e5373d7f..86a56309 100644
--- a/docs/en/gun/1.1/guide/http/index.html
+++ b/docs/en/gun/1.1/guide/http/index.html
@@ -391,6 +391,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.1/guide/index.html b/docs/en/gun/1.1/guide/index.html
index 41d55a5e..0ead6e43 100644
--- a/docs/en/gun/1.1/guide/index.html
+++ b/docs/en/gun/1.1/guide/index.html
@@ -115,6 +115,8 @@
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.1/guide/introduction/index.html b/docs/en/gun/1.1/guide/introduction/index.html
index 187d84bb..40b7f174 100644
--- a/docs/en/gun/1.1/guide/introduction/index.html
+++ b/docs/en/gun/1.1/guide/introduction/index.html
@@ -143,6 +143,8 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</pre></div></div>
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.1/guide/migrating_from_1.0/index.html b/docs/en/gun/1.1/guide/migrating_from_1.0/index.html
index 54f13e7f..ab21e441 100644
--- a/docs/en/gun/1.1/guide/migrating_from_1.0/index.html
+++ b/docs/en/gun/1.1/guide/migrating_from_1.0/index.html
@@ -128,6 +128,8 @@
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.1/guide/protocols/index.html b/docs/en/gun/1.1/guide/protocols/index.html
index 3f1ec957..d2852ee4 100644
--- a/docs/en/gun/1.1/guide/protocols/index.html
+++ b/docs/en/gun/1.1/guide/protocols/index.html
@@ -270,6 +270,8 @@
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.1/guide/start/index.html b/docs/en/gun/1.1/guide/start/index.html
index 08ac4843..2ffccf2d 100644
--- a/docs/en/gun/1.1/guide/start/index.html
+++ b/docs/en/gun/1.1/guide/start/index.html
@@ -149,6 +149,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.1/guide/websocket/index.html b/docs/en/gun/1.1/guide/websocket/index.html
index 6b23e725..c17f0f89 100644
--- a/docs/en/gun/1.1/guide/websocket/index.html
+++ b/docs/en/gun/1.1/guide/websocket/index.html
@@ -200,6 +200,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
<li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.await/index.html b/docs/en/gun/1.1/manual/gun.await/index.html
index 64fb49db..f3fecc72 100644
--- a/docs/en/gun/1.1/manual/gun.await/index.html
+++ b/docs/en/gun/1.1/manual/gun.await/index.html
@@ -184,6 +184,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.await_body/index.html b/docs/en/gun/1.1/manual/gun.await_body/index.html
index 549dc756..5046d8d6 100644
--- a/docs/en/gun/1.1/manual/gun.await_body/index.html
+++ b/docs/en/gun/1.1/manual/gun.await_body/index.html
@@ -160,6 +160,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.await_up/index.html b/docs/en/gun/1.1/manual/gun.await_up/index.html
index 3dac7e12..b1cd8bca 100644
--- a/docs/en/gun/1.1/manual/gun.await_up/index.html
+++ b/docs/en/gun/1.1/manual/gun.await_up/index.html
@@ -152,6 +152,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.cancel/index.html b/docs/en/gun/1.1/manual/gun.cancel/index.html
index 2544119b..fd69bffe 100644
--- a/docs/en/gun/1.1/manual/gun.cancel/index.html
+++ b/docs/en/gun/1.1/manual/gun.cancel/index.html
@@ -138,6 +138,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.close/index.html b/docs/en/gun/1.1/manual/gun.close/index.html
index e709545e..98277c77 100644
--- a/docs/en/gun/1.1/manual/gun.close/index.html
+++ b/docs/en/gun/1.1/manual/gun.close/index.html
@@ -130,6 +130,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.data/index.html b/docs/en/gun/1.1/manual/gun.data/index.html
index 0ac739e3..0ec6792d 100644
--- a/docs/en/gun/1.1/manual/gun.data/index.html
+++ b/docs/en/gun/1.1/manual/gun.data/index.html
@@ -149,6 +149,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.delete/index.html b/docs/en/gun/1.1/manual/gun.delete/index.html
index 6e13c16a..17e92654 100644
--- a/docs/en/gun/1.1/manual/gun.delete/index.html
+++ b/docs/en/gun/1.1/manual/gun.delete/index.html
@@ -158,6 +158,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.flush/index.html b/docs/en/gun/1.1/manual/gun.flush/index.html
index 26f6bb73..97e80056 100644
--- a/docs/en/gun/1.1/manual/gun.flush/index.html
+++ b/docs/en/gun/1.1/manual/gun.flush/index.html
@@ -143,6 +143,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.get/index.html b/docs/en/gun/1.1/manual/gun.get/index.html
index 2165f583..00c9039c 100644
--- a/docs/en/gun/1.1/manual/gun.get/index.html
+++ b/docs/en/gun/1.1/manual/gun.get/index.html
@@ -161,6 +161,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.head/index.html b/docs/en/gun/1.1/manual/gun.head/index.html
index 3a212236..8ab2a102 100644
--- a/docs/en/gun/1.1/manual/gun.head/index.html
+++ b/docs/en/gun/1.1/manual/gun.head/index.html
@@ -163,6 +163,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.info/index.html b/docs/en/gun/1.1/manual/gun.info/index.html
index 0489e47b..0ecd9c50 100644
--- a/docs/en/gun/1.1/manual/gun.info/index.html
+++ b/docs/en/gun/1.1/manual/gun.info/index.html
@@ -134,6 +134,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.open/index.html b/docs/en/gun/1.1/manual/gun.open/index.html
index 7910df02..241eb95e 100644
--- a/docs/en/gun/1.1/manual/gun.open/index.html
+++ b/docs/en/gun/1.1/manual/gun.open/index.html
@@ -154,6 +154,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.open_unix/index.html b/docs/en/gun/1.1/manual/gun.open_unix/index.html
index 06e11e42..afc4852e 100644
--- a/docs/en/gun/1.1/manual/gun.open_unix/index.html
+++ b/docs/en/gun/1.1/manual/gun.open_unix/index.html
@@ -142,6 +142,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.options/index.html b/docs/en/gun/1.1/manual/gun.options/index.html
index b152d193..29c036e5 100644
--- a/docs/en/gun/1.1/manual/gun.options/index.html
+++ b/docs/en/gun/1.1/manual/gun.options/index.html
@@ -158,6 +158,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.patch/index.html b/docs/en/gun/1.1/manual/gun.patch/index.html
index 1a005c64..397e1514 100644
--- a/docs/en/gun/1.1/manual/gun.patch/index.html
+++ b/docs/en/gun/1.1/manual/gun.patch/index.html
@@ -181,6 +181,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.post/index.html b/docs/en/gun/1.1/manual/gun.post/index.html
index 0430dd84..5b981f44 100644
--- a/docs/en/gun/1.1/manual/gun.post/index.html
+++ b/docs/en/gun/1.1/manual/gun.post/index.html
@@ -179,6 +179,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.put/index.html b/docs/en/gun/1.1/manual/gun.put/index.html
index 61f6099b..cdf5beba 100644
--- a/docs/en/gun/1.1/manual/gun.put/index.html
+++ b/docs/en/gun/1.1/manual/gun.put/index.html
@@ -179,6 +179,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.request/index.html b/docs/en/gun/1.1/manual/gun.request/index.html
index efec6014..ec7ecaa6 100644
--- a/docs/en/gun/1.1/manual/gun.request/index.html
+++ b/docs/en/gun/1.1/manual/gun.request/index.html
@@ -165,6 +165,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.ws_send/index.html b/docs/en/gun/1.1/manual/gun.ws_send/index.html
index d85ddc00..f8656645 100644
--- a/docs/en/gun/1.1/manual/gun.ws_send/index.html
+++ b/docs/en/gun/1.1/manual/gun.ws_send/index.html
@@ -147,6 +147,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun.ws_upgrade/index.html b/docs/en/gun/1.1/manual/gun.ws_upgrade/index.html
index 6c3622af..70692794 100644
--- a/docs/en/gun/1.1/manual/gun.ws_upgrade/index.html
+++ b/docs/en/gun/1.1/manual/gun.ws_upgrade/index.html
@@ -171,6 +171,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun/index.html b/docs/en/gun/1.1/manual/gun/index.html
index cf0a9dae..dabe7a9e 100644
--- a/docs/en/gun/1.1/manual/gun/index.html
+++ b/docs/en/gun/1.1/manual/gun/index.html
@@ -309,6 +309,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_app/index.html b/docs/en/gun/1.1/manual/gun_app/index.html
index 4485f8e0..3d6bbe51 100644
--- a/docs/en/gun/1.1/manual/gun_app/index.html
+++ b/docs/en/gun/1.1/manual/gun_app/index.html
@@ -123,6 +123,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_data/index.html b/docs/en/gun/1.1/manual/gun_data/index.html
index 6dac955f..897a6925 100644
--- a/docs/en/gun/1.1/manual/gun_data/index.html
+++ b/docs/en/gun/1.1/manual/gun_data/index.html
@@ -147,6 +147,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_down/index.html b/docs/en/gun/1.1/manual/gun_down/index.html
index 99ac1552..b0884907 100644
--- a/docs/en/gun/1.1/manual/gun_down/index.html
+++ b/docs/en/gun/1.1/manual/gun_down/index.html
@@ -153,6 +153,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_error/index.html b/docs/en/gun/1.1/manual/gun_error/index.html
index 691f7c7e..9cad2af2 100644
--- a/docs/en/gun/1.1/manual/gun_error/index.html
+++ b/docs/en/gun/1.1/manual/gun_error/index.html
@@ -146,6 +146,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_inform/index.html b/docs/en/gun/1.1/manual/gun_inform/index.html
index 9de025bc..d8e80e29 100644
--- a/docs/en/gun/1.1/manual/gun_inform/index.html
+++ b/docs/en/gun/1.1/manual/gun_inform/index.html
@@ -146,6 +146,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_push/index.html b/docs/en/gun/1.1/manual/gun_push/index.html
index c9101902..6bd6f7ee 100644
--- a/docs/en/gun/1.1/manual/gun_push/index.html
+++ b/docs/en/gun/1.1/manual/gun_push/index.html
@@ -166,6 +166,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_response/index.html b/docs/en/gun/1.1/manual/gun_response/index.html
index e781747f..8ad25765 100644
--- a/docs/en/gun/1.1/manual/gun_response/index.html
+++ b/docs/en/gun/1.1/manual/gun_response/index.html
@@ -149,6 +149,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_trailers/index.html b/docs/en/gun/1.1/manual/gun_trailers/index.html
index 1ecf0867..94c7ecdb 100644
--- a/docs/en/gun/1.1/manual/gun_trailers/index.html
+++ b/docs/en/gun/1.1/manual/gun_trailers/index.html
@@ -141,6 +141,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_up/index.html b/docs/en/gun/1.1/manual/gun_up/index.html
index c6212506..c1a6c752 100644
--- a/docs/en/gun/1.1/manual/gun_up/index.html
+++ b/docs/en/gun/1.1/manual/gun_up/index.html
@@ -137,6 +137,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_upgrade/index.html b/docs/en/gun/1.1/manual/gun_upgrade/index.html
index c5f0a2ef..2ba35bf5 100644
--- a/docs/en/gun/1.1/manual/gun_upgrade/index.html
+++ b/docs/en/gun/1.1/manual/gun_upgrade/index.html
@@ -147,6 +147,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/gun_ws/index.html b/docs/en/gun/1.1/manual/gun_ws/index.html
index 6489972f..a6f91b80 100644
--- a/docs/en/gun/1.1/manual/gun_ws/index.html
+++ b/docs/en/gun/1.1/manual/gun_ws/index.html
@@ -143,6 +143,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.1/manual/index.html b/docs/en/gun/1.1/manual/index.html
index 70300ac9..6cd9c248 100644
--- a/docs/en/gun/1.1/manual/index.html
+++ b/docs/en/gun/1.1/manual/index.html
@@ -123,6 +123,8 @@ http://www.gnu.org/software/src-highlite -->
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
<li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
<li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
diff --git a/docs/en/gun/1.2/guide/connect.asciidoc b/docs/en/gun/1.2/guide/connect.asciidoc
new file mode 100644
index 00000000..dd4297d1
--- /dev/null
+++ b/docs/en/gun/1.2/guide/connect.asciidoc
@@ -0,0 +1,160 @@
+[[connect]]
+== Connection
+
+This chapter describes how to open, monitor and close
+a connection using the Gun client.
+
+=== Gun connections
+
+Gun is designed with the HTTP/2 and Websocket protocols in mind.
+They are built for long-running connections that allow concurrent
+exchange of data, either in the form of request/responses for
+HTTP/2 or in the form of messages for Websocket.
+
+A Gun connection is an Erlang process that manages a socket to
+a remote endpoint. This Gun connection is owned by a user
+process that is called the _owner_ of the connection, and is
+managed by the supervision tree of the `gun` application.
+
+The owner process communicates with the Gun connection
+by calling functions from the module `gun`. All functions
+perform their respective operations asynchronously. The Gun
+connection will send Erlang messages to the owner process
+whenever needed.
+
+When the remote endpoint closes the connection, Gun attempts
+to reconnect automatically.
+
+=== Opening a new connection
+
+The `gun:open/2,3` function must be used to open a connection.
+
+.Opening a connection to example.org on port 443
+[source,erlang]
+----
+{ok, ConnPid} = gun:open("example.org", 443).
+----
+
+If the port given is 443, Gun will attempt to connect using
+TLS. The protocol will be selected automatically using the
+ALPN extension for TLS. By default Gun supports HTTP/2
+and HTTP/1.1 when connecting using TLS.
+
+For any other port, Gun will attempt to connect using
+plain TCP and will use the HTTP/1.1 protocol.
+
+The transport and protocol used can be overriden via
+options. The manual documents all available options.
+
+Options can be provided as a third argument, and take the
+form of a map.
+
+.Opening a TLS connection to example.org on port 8443
+[source,erlang]
+----
+{ok, ConnPid} = gun:open("example.org", 8443, #{transport => tls}).
+----
+
+=== Waiting for the connection to be established
+
+When Gun successfully connects to the server, it sends a
+`gun_up` message with the protocol that has been selected
+for the connection.
+
+Gun provides the functions `gun:await_up/1,2,3` that wait
+for the `gun_up` message. They can optionally take a monitor
+reference and/or timeout value. If no monitor is provided,
+one will be created for the duration of the function call.
+
+.Synchronous opening of a connection
+[source,erlang]
+----
+{ok, ConnPid} = gun:open("example.org", 443),
+{ok, Protocol} = gun:await_up(ConnPid).
+----
+
+=== Handling connection loss
+
+When the connection is lost, Gun will send a `gun_down`
+message indicating the current protocol, the reason the
+connection was lost and two lists of stream references.
+
+The first list indicates open streams that _may_ have been
+processed by the server. The second list indicates open
+streams that the server did not process.
+
+=== Monitoring the connection process
+
+Because software errors are unavoidable, it is important to
+detect when the Gun process crashes. It is also important
+to detect when it exits normally. Erlang provides two ways
+to do that: links and monitors.
+
+Gun leaves you the choice as to which one will be used.
+However, if you use the `gun:await/2,3` or `gun:await_body/2,3`
+functions, a monitor may be used for you to avoid getting
+stuck waiting for a message that will never come.
+
+If you choose to monitor yourself you can do it on a permanent
+basis rather than on every message you will receive, saving
+resources. Indeed, the `gun:await/3,4` and `gun:await_body/3,4`
+functions both accept a monitor argument if you have one already.
+
+.Monitoring the connection process
+[source,erlang]
+----
+{ok, ConnPid} = gun:open("example.org", 443).
+MRef = monitor(process, ConnPid).
+----
+
+This monitor reference can be kept and used until the connection
+process exits.
+
+.Handling `DOWN` messages
+[source,erlang]
+----
+receive
+ %% Receive Gun messages here...
+ {'DOWN', Mref, process, ConnPid, Reason} ->
+ error_logger:error_msg("Oops!"),
+ exit(Reason)
+end.
+----
+
+What to do when you receive a `DOWN` message is entirely up to you.
+
+=== Closing the connection abruptly
+
+The connection can be stopped abruptly at any time by calling
+the `gun:close/1` function.
+
+.Immediate closing of the connection
+[source,erlang]
+----
+gun:close(ConnPid).
+----
+
+The process is stopped immediately without having a chance to
+perform the protocol's closing handshake, if any.
+
+//=== Closing the connection gracefully
+//
+//The connection can also be stopped gracefully by calling the
+//`gun:shutdown/1` function.
+//
+//.Graceful shutdown of the connection
+//[source,erlang]
+//----
+//gun:shutdown(ConnPid).
+//----
+//
+//Gun will refuse any new requests or messages after you call
+//this function. It will however continue to send you messages
+//for existing streams until they are all completed.
+//
+//For example if you performed a GET request just before calling
+//`gun:shutdown/1`, you will still receive the response before
+//Gun closes the connection.
+//
+//If you set a monitor beforehand, you will receive a message
+//when the connection has been closed.
diff --git a/docs/en/gun/1.2/guide/connect/index.html b/docs/en/gun/1.2/guide/connect/index.html
new file mode 100644
index 00000000..5b748726
--- /dev/null
+++ b/docs/en/gun/1.2/guide/connect/index.html
@@ -0,0 +1,256 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Connection</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Connection</span></h1>
+
+<p>This chapter describes how to open, monitor and close a connection using the Gun client.</p>
+<h2 id="_gun_connections">Gun connections</h2>
+<p>Gun is designed with the HTTP/2 and Websocket protocols in mind. They are built for long-running connections that allow concurrent exchange of data, either in the form of request/responses for HTTP/2 or in the form of messages for Websocket.</p>
+<p>A Gun connection is an Erlang process that manages a socket to a remote endpoint. This Gun connection is owned by a user process that is called the <em>owner</em> of the connection, and is managed by the supervision tree of the <code>gun</code> application.</p>
+<p>The owner process communicates with the Gun connection by calling functions from the module <code>gun</code>. All functions perform their respective operations asynchronously. The Gun connection will send Erlang messages to the owner process whenever needed.</p>
+<p>When the remote endpoint closes the connection, Gun attempts to reconnect automatically.</p>
+<h2 id="_opening_a_new_connection">Opening a new connection</h2>
+<p>The <code>gun:open/2,3</code> function must be used to open a connection.</p>
+<div class="listingblock"><div class="title">Opening a connection to example.org on port 443</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"example.org"</font>, <font color="#993399">443</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>If the port given is 443, Gun will attempt to connect using TLS. The protocol will be selected automatically using the ALPN extension for TLS. By default Gun supports HTTP/2 and HTTP/1.1 when connecting using TLS.</p>
+<p>For any other port, Gun will attempt to connect using plain TCP and will use the HTTP/1.1 protocol.</p>
+<p>The transport and protocol used can be overriden via options. The manual documents all available options.</p>
+<p>Options can be provided as a third argument, and take the form of a map.</p>
+<div class="listingblock"><div class="title">Opening a TLS connection to example.org on port 8443</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"example.org"</font>, <font color="#993399">8443</font>, #{<font color="#0000FF">transport</font> <font color="#990000">=&gt;</font> <font color="#FF6600">tls</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_waiting_for_the_connection_to_be_established">Waiting for the connection to be established</h2>
+<p>When Gun successfully connects to the server, it sends a <code>gun_up</code> message with the protocol that has been selected for the connection.</p>
+<p>Gun provides the functions <code>gun:await_up/1,2,3</code> that wait for the <code>gun_up</code> message. They can optionally take a monitor reference and/or timeout value. If no monitor is provided, one will be created for the duration of the function call.</p>
+<div class="listingblock"><div class="title">Synchronous opening of a connection</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"example.org"</font>, <font color="#993399">443</font>),
+{<font color="#FF6600">ok</font>, <font color="#009900">Protocol</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await_up</font></b>(<font color="#009900">ConnPid</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_handling_connection_loss">Handling connection loss</h2>
+<p>When the connection is lost, Gun will send a <code>gun_down</code> message indicating the current protocol, the reason the connection was lost and two lists of stream references.</p>
+<p>The first list indicates open streams that <em>may</em> have been processed by the server. The second list indicates open streams that the server did not process.</p>
+<h2 id="_monitoring_the_connection_process">Monitoring the connection process</h2>
+<p>Because software errors are unavoidable, it is important to detect when the Gun process crashes. It is also important to detect when it exits normally. Erlang provides two ways to do that: links and monitors.</p>
+<p>Gun leaves you the choice as to which one will be used. However, if you use the <code>gun:await/2,3</code> or <code>gun:await_body/2,3</code> functions, a monitor may be used for you to avoid getting stuck waiting for a message that will never come.</p>
+<p>If you choose to monitor yourself you can do it on a permanent basis rather than on every message you will receive, saving resources. Indeed, the <code>gun:await/3,4</code> and <code>gun:await_body/3,4</code> functions both accept a monitor argument if you have one already.</p>
+<div class="listingblock"><div class="title">Monitoring the connection process</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"example.org"</font>, <font color="#993399">443</font>)<font color="#990000">.</font>
+<font color="#009900">MRef</font> <font color="#990000">=</font> <b><font color="#000000">monitor</font></b>(<b><font color="#000080">process</font></b>, <font color="#009900">ConnPid</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>This monitor reference can be kept and used until the connection process exits.</p>
+<div class="listingblock"><div class="title">Handling `DOWN` messages</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#0000FF">receive</font></b>
+ <i><font color="#9A1900">%% Receive Gun messages here...</font></i>
+ {<font color="#FF6600">'DOWN'</font>, <font color="#009900">Mref</font>, <b><font color="#000080">process</font></b>, <font color="#009900">ConnPid</font>, <font color="#009900">Reason</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">error_logger:error_msg</font></b>(<font color="#FF0000">"Oops!"</font>),
+ <b><font color="#000080">exit</font></b>(<font color="#009900">Reason</font>)
+<b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<p>What to do when you receive a <code>DOWN</code> message is entirely up to you.</p>
+<h2 id="_closing_the_connection_abruptly">Closing the connection abruptly</h2>
+<p>The connection can be stopped abruptly at any time by calling the <code>gun:close/1</code> function.</p>
+<div class="listingblock"><div class="title">Immediate closing of the connection</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:close</font></b>(<font color="#009900">ConnPid</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>The process is stopped immediately without having a chance to perform the protocol&apos;s closing handshake, if any.</p>
+<!-- === Closing the connection gracefully-->
+<!-- -->
+<!-- The connection can also be stopped gracefully by calling the-->
+<!-- `gun:shutdown/1` function.-->
+<!-- -->
+<!-- .Graceful shutdown of the connection-->
+<!-- [source,erlang]-->
+<!-- ------>
+<!-- gun:shutdown(ConnPid).-->
+<!-- ------>
+<!-- -->
+<!-- Gun will refuse any new requests or messages after you call-->
+<!-- this function. It will however continue to send you messages-->
+<!-- for existing streams until they are all completed.-->
+<!-- -->
+<!-- For example if you performed a GET request just before calling-->
+<!-- `gun:shutdown/1`, you will still receive the response before-->
+<!-- Gun closes the connection.-->
+<!-- -->
+<!-- If you set a monitor beforehand, you will receive a message-->
+<!-- when the connection has been closed.-->
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+ <a style="float:left" href="https://ninenines.eu/docs/en/gun/1.2/guide/protocols/">
+ Supported protocols
+ </a>
+
+
+
+ <a style="float:right" href="https://ninenines.eu/docs/en/gun/1.2/guide/http/">
+ HTTP
+ </a>
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/guide/gun.sty b/docs/en/gun/1.2/guide/gun.sty
new file mode 100644
index 00000000..d5e0d3be
--- /dev/null
+++ b/docs/en/gun/1.2/guide/gun.sty
@@ -0,0 +1,8 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{asciidoc-dblatex}[2012/10/24 AsciiDoc DocBook Style]
+
+%% Just use the original package and pass the options.
+\RequirePackageWithOptions{docbook}
+
+%% Define an alias for make snippets to be compatible with source-highlighter.
+\lstalias{makefile}{make}
diff --git a/docs/en/gun/1.2/guide/http.asciidoc b/docs/en/gun/1.2/guide/http.asciidoc
new file mode 100644
index 00000000..652030a3
--- /dev/null
+++ b/docs/en/gun/1.2/guide/http.asciidoc
@@ -0,0 +1,390 @@
+[[http]]
+== HTTP
+
+This chapter describes how to use the Gun client for
+communicating with an HTTP/1.1 or HTTP/2 server.
+
+=== Streams
+
+Every time a request is initiated, Gun creates a _stream_.
+A _stream reference_ uniquely identifies a set of request and
+response and must be used to perform additional operations
+with a stream or to identify its messages.
+
+Stream references use the Erlang _reference_ data type and
+are therefore unique.
+
+Streams can be canceled at any time. This will stop any further
+messages from being sent to the owner process. Depending on
+its capabilities, the server will also be instructed to cancel
+the request.
+
+Canceling a stream may result in Gun dropping the connection
+temporarily, to avoid uploading or downloading data that will
+not be used.
+
+.Cancelling a stream
+[source,erlang]
+----
+gun:cancel(ConnPid, StreamRef).
+----
+
+=== Sending requests
+
+Gun provides many convenient functions for performing common
+operations, like GET, POST or DELETE. It also provides a
+general purpose function in case you need other methods.
+
+The availability of these methods on the server can vary
+depending on the software used but also on a per-resource
+basis.
+
+Gun will automatically set a few headers depending on the
+method used. For all methods however it will set the host
+header if it has not been provided in the request arguments.
+
+This section focuses on the act of sending a request. The
+handling of responses will be explained further on.
+
+==== GET and HEAD
+
+Use `gun:get/2,3,4` to request a resource.
+
+.GET "/organizations/ninenines"
+[source,erlang]
+----
+StreamRef = gun:get(ConnPid, "/organizations/ninenines").
+----
+
+.GET "/organizations/ninenines" with custom headers
+[source,erlang]
+----
+StreamRef = gun:get(ConnPid, "/organizations/ninenines", [
+ {<<"accept">>, "application/json"},
+ {<<"user-agent">>, "revolver/1.0"}
+]).
+----
+
+Note that the list of headers has the field name as a binary.
+The field value is iodata, which is either a binary or an
+iolist.
+
+Use `gun:head/2,3,4` if you don't need the response body.
+
+.HEAD "/organizations/ninenines"
+[source,erlang]
+----
+StreamRef = gun:head(ConnPid, "/organizations/ninenines").
+----
+
+.HEAD "/organizations/ninenines" with custom headers
+[source,erlang]
+----
+StreamRef = gun:head(ConnPid, "/organizations/ninenines", [
+ {<<"accept">>, "application/json"},
+ {<<"user-agent">>, "revolver/1.0"}
+]).
+----
+
+It is not possible to send a request body with a GET or HEAD
+request.
+
+==== POST, PUT and PATCH
+
+HTTP defines three methods to create or update a resource.
+
+POST is generally used when the resource identifier (URI) isn't known
+in advance when creating a resource. POST can also be used to
+replace an existing resource, although PUT is more appropriate
+in that situation.
+
+PUT creates or replaces a resource identified by the URI.
+
+PATCH provides instructions on how to modify the resource.
+
+Both POST and PUT send the entire resource representation in their
+request body. The PATCH method can be used when this is not
+desirable. The request body of a PATCH method may be a partial
+representation or a list of instructions on how to update the
+resource.
+
+The `gun:post/4,5`, `gun:put/4,5` and `gun:patch/4,5` functions
+take a body as their fourth argument. These functions do
+not require any body-specific header to be set, although
+it is always recommended to set the content-type header.
+Gun will set the other headers automatically.
+
+In this and the following examples in this section, `gun:post`
+can be replaced by `gun:put` or `gun:patch` for performing
+a PUT or PATCH request, respectively.
+
+.POST "/organizations/ninenines"
+[source,erlang]
+----
+Body = "{\"msg\": \"Hello world!\"}",
+StreamRef = gun:post(ConnPid, "/organizations/ninenines", [
+ {<<"content-type">>, "application/json"}
+], Body).
+----
+
+The `gun:post/3`, `gun:put/3` and `gun:patch/3` functions
+do not take a body in their arguments. If a body is to be
+provided later on, using the `gun:data/4` function, then
+the request headers must indicate this. This can be done
+by setting the content-length or content-type request
+headers. If these headers are not set then Gun will assume
+the request has no body.
+
+It is recommended to send the content-length header if you
+know it in advance, although this is not required. If it
+is not set, HTTP/1.1 will use the chunked transfer-encoding,
+and HTTP/2 will continue normally as it is chunked by design.
+
+.POST "/organizations/ninenines" with delayed body
+[source,erlang]
+----
+Body = "{\"msg\": \"Hello world!\"}",
+StreamRef = gun:post(ConnPid, "/organizations/ninenines", [
+ {<<"content-length">>, integer_to_binary(length(Body))},
+ {<<"content-type">>, "application/json"}
+]),
+gun:data(ConnPid, StreamRef, fin, Body).
+----
+
+The atom `fin` indicates this is the last chunk of data to
+be sent. You can call the `gun:data/4` function as many
+times as needed until you have sent the entire body. The
+last call must use `fin` and all the previous calls must
+use `nofin`. The last chunk may be empty.
+
+.Streaming the request body
+[source,erlang]
+----
+sendfile(ConnPid, StreamRef, Filepath) ->
+ {ok, IoDevice} = file:open(Filepath, [read, binary, raw]),
+ do_sendfile(ConnPid, StreamRef, IoDevice).
+
+do_sendfile(ConnPid, StreamRef, IoDevice) ->
+ case file:read(IoDevice, 8000) of
+ eof ->
+ gun:data(ConnPid, StreamRef, fin, <<>>),
+ file:close(IoDevice);
+ {ok, Bin} ->
+ gun:data(ConnPid, StreamRef, nofin, Bin),
+ do_sendfile(ConnPid, StreamRef, IoDevice)
+ end.
+----
+
+==== DELETE
+
+Use `gun:delete/2,3,4` to delete a resource.
+
+.DELETE "/organizations/ninenines"
+[source,erlang]
+----
+StreamRef = gun:delete(ConnPid, "/organizations/ninenines").
+----
+
+.DELETE "/organizations/ninenines" with custom headers
+[source,erlang]
+----
+StreamRef = gun:delete(ConnPid, "/organizations/ninenines", [
+ {<<"user-agent">>, "revolver/1.0"}
+]).
+----
+
+==== OPTIONS
+
+Use `gun:options/2,3` to request information about a resource.
+
+.OPTIONS "/organizations/ninenines"
+[source,erlang]
+----
+StreamRef = gun:options(ConnPid, "/organizations/ninenines").
+----
+
+.OPTIONS "/organizations/ninenines" with custom headers
+[source,erlang]
+----
+StreamRef = gun:options(ConnPid, "/organizations/ninenines", [
+ {<<"user-agent">>, "revolver/1.0"}
+]).
+----
+
+You can also use this function to request information about
+the server itself.
+
+.OPTIONS "*"
+[source,erlang]
+----
+StreamRef = gun:options(ConnPid, "*").
+----
+
+==== Requests with an arbitrary method
+
+The `gun:request/4,5,6` function can be used to send requests
+with a configurable method name. It is mostly useful when you
+need a method that Gun does not understand natively.
+
+.Example of a TRACE request
+[source,erlang]
+----
+gun:request(ConnPid, "TRACE", "/", [
+ {<<"max-forwards">>, "30"}
+]).
+----
+
+=== Processing responses
+
+All data received from the server is sent to the owner
+process as a message. First a `gun_response` message is sent,
+followed by zero or more `gun_data` messages. If something goes wrong,
+a `gun_error` message is sent instead.
+
+The response message will inform you whether there will be
+data messages following. If it contains `fin` there will be
+no data messages. If it contains `nofin` then one or more data
+messages will follow.
+
+When using HTTP/2 this value is sent with the frame and simply
+passed on in the message. When using HTTP/1.1 however Gun must
+guess whether data will follow by looking at the response headers.
+
+You can receive messages directly, or you can use the _await_
+functions to let Gun receive them for you.
+
+.Receiving a response using receive
+[source,erlang]
+----
+print_body(ConnPid, MRef) ->
+ StreamRef = gun:get(ConnPid, "/"),
+ receive
+ {gun_response, ConnPid, StreamRef, fin, Status, Headers} ->
+ no_data;
+ {gun_response, ConnPid, StreamRef, nofin, Status, Headers} ->
+ receive_data(ConnPid, MRef, StreamRef);
+ {'DOWN', MRef, process, ConnPid, Reason} ->
+ error_logger:error_msg("Oops!"),
+ exit(Reason)
+ after 1000 ->
+ exit(timeout)
+ end.
+
+receive_data(ConnPid, MRef, StreamRef) ->
+ receive
+ {gun_data, ConnPid, StreamRef, nofin, Data} ->
+ io:format("~s~n", [Data]),
+ receive_data(ConnPid, MRef, StreamRef);
+ {gun_data, ConnPid, StreamRef, fin, Data} ->
+ io:format("~s~n", [Data]);
+ {'DOWN', MRef, process, ConnPid, Reason} ->
+ error_logger:error_msg("Oops!"),
+ exit(Reason)
+ after 1000 ->
+ exit(timeout)
+ end.
+----
+
+While it may seem verbose, using messages like this has the
+advantage of never locking your process, allowing you to
+easily debug your code. It also allows you to start more than
+one connection and concurrently perform queries on all of them
+at the same time.
+
+You can also use Gun in a synchronous manner by using the _await_
+functions.
+
+The `gun:await/2,3,4` function will wait until it receives
+a response to, a pushed resource related to, or data from
+the given stream.
+
+When calling `gun:await/2,3` and not passing a monitor
+reference, one is automatically created for you for the
+duration of the call.
+
+The `gun:await_body/2,3,4` works similarly, but returns the
+body received. Both functions can be combined to receive the
+response and its body sequentially.
+
+.Receiving a response using await
+[source,erlang]
+----
+StreamRef = gun:get(ConnPid, "/"),
+case gun:await(ConnPid, StreamRef) of
+ {response, fin, Status, Headers} ->
+ no_data;
+ {response, nofin, Status, Headers} ->
+ {ok, Body} = gun:await_body(ConnPid, StreamRef),
+ io:format("~s~n", [Body])
+end.
+----
+
+=== Handling streams pushed by the server
+
+The HTTP/2 protocol allows the server to push more than one
+resource for every request. It will start sending those
+extra resources before it starts sending the response itself,
+so Gun will send you `gun_push` messages before `gun_response`
+when that happens.
+
+You can safely choose to ignore `gun_push` messages, or
+you can handle them. If you do, you can either receive the
+messages directly or use _await_ functions.
+
+The `gun_push` message contains both the new stream reference
+and the stream reference of the original request.
+
+.Receiving a pushed response using receive
+[source,erlang]
+----
+receive
+ {gun_push, ConnPid, OriginalStreamRef, PushedStreamRef,
+ Method, Host, Path, Headers} ->
+ enjoy()
+end.
+----
+
+If you use the `gun:await/2,3,4` function, however, Gun
+will use the original reference to identify the message but
+will return a tuple that doesn't contain it.
+
+.Receiving a pushed response using await
+[source,erlang]
+----
+{push, PushedStreamRef, Method, URI, Headers}
+ = gun:await(ConnPid, OriginalStreamRef).
+----
+
+The `PushedStreamRef` variable can then be used with `gun:await/2,3,4`
+and `gun:await_body/2,3,4`.
+
+=== Flushing unwanted messages
+
+Gun provides the function `gun:flush/1` to quickly get rid
+of unwanted messages sitting in the process mailbox. You
+can use it to get rid of all messages related to a connection,
+or just the messages related to a stream.
+
+.Flush all messages from a Gun connection
+[source,erlang]
+----
+gun:flush(ConnPid).
+----
+
+.Flush all messages from a specific stream
+[source,erlang]
+----
+gun:flush(StreamRef).
+----
+
+=== Redirecting responses to a different process
+
+Gun allows you to specify which process will handle responses
+to a request via the `reply_to` request option.
+
+.GET "/organizations/ninenines" to a different process
+[source,erlang]
+----
+StreamRef = gun:get(ConnPid, "/organizations/ninenines", [],
+ #{reply_to => Pid}).
+----
diff --git a/docs/en/gun/1.2/guide/http/index.html b/docs/en/gun/1.2/guide/http/index.html
new file mode 100644
index 00000000..63c71725
--- /dev/null
+++ b/docs/en/gun/1.2/guide/http/index.html
@@ -0,0 +1,431 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: HTTP</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>HTTP</span></h1>
+
+<p>This chapter describes how to use the Gun client for communicating with an HTTP/1.1 or HTTP/2 server.</p>
+<h2 id="_streams">Streams</h2>
+<p>Every time a request is initiated, Gun creates a <em>stream</em>. A <em>stream reference</em> uniquely identifies a set of request and response and must be used to perform additional operations with a stream or to identify its messages.</p>
+<p>Stream references use the Erlang <em>reference</em> data type and are therefore unique.</p>
+<p>Streams can be canceled at any time. This will stop any further messages from being sent to the owner process. Depending on its capabilities, the server will also be instructed to cancel the request.</p>
+<p>Canceling a stream may result in Gun dropping the connection temporarily, to avoid uploading or downloading data that will not be used.</p>
+<div class="listingblock"><div class="title">Cancelling a stream</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:cancel</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_sending_requests">Sending requests</h2>
+<p>Gun provides many convenient functions for performing common operations, like GET, POST or DELETE. It also provides a general purpose function in case you need other methods.</p>
+<p>The availability of these methods on the server can vary depending on the software used but also on a per-resource basis.</p>
+<p>Gun will automatically set a few headers depending on the method used. For all methods however it will set the host header if it has not been provided in the request arguments.</p>
+<p>This section focuses on the act of sending a request. The handling of responses will be explained further on.</p>
+<h4 id="_get_and_head">GET and HEAD</h4>
+<p>Use <code>gun:get/2,3,4</code> to request a resource.</p>
+<div class="listingblock"><div class="title">GET &quot;/organizations/ninenines&quot;</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">GET &quot;/organizations/ninenines&quot; with custom headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"application/json"</font>},
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"user-agent"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"revolver/1.0"</font>}
+])<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>Note that the list of headers has the field name as a binary. The field value is iodata, which is either a binary or an iolist.</p>
+<p>Use <code>gun:head/2,3,4</code> if you don&apos;t need the response body.</p>
+<div class="listingblock"><div class="title">HEAD &quot;/organizations/ninenines&quot;</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:head</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">HEAD &quot;/organizations/ninenines&quot; with custom headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:head</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"application/json"</font>},
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"user-agent"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"revolver/1.0"</font>}
+])<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>It is not possible to send a request body with a GET or HEAD request.</p>
+<h4 id="_post__put_and_patch">POST, PUT and PATCH</h4>
+<p>HTTP defines three methods to create or update a resource.</p>
+<p>POST is generally used when the resource identifier (URI) isn&apos;t known in advance when creating a resource. POST can also be used to replace an existing resource, although PUT is more appropriate in that situation.</p>
+<p>PUT creates or replaces a resource identified by the URI.</p>
+<p>PATCH provides instructions on how to modify the resource.</p>
+<p>Both POST and PUT send the entire resource representation in their request body. The PATCH method can be used when this is not desirable. The request body of a PATCH method may be a partial representation or a list of instructions on how to update the resource.</p>
+<p>The <code>gun:post/4,5</code>, <code>gun:put/4,5</code> and <code>gun:patch/4,5</code> functions take a body as their fourth argument. These functions do not require any body-specific header to be set, although it is always recommended to set the content-type header. Gun will set the other headers automatically.</p>
+<p>In this and the following examples in this section, <code>gun:post</code> can be replaced by <code>gun:put</code> or <code>gun:patch</code> for performing a PUT or PATCH request, respectively.</p>
+<div class="listingblock"><div class="title">POST &quot;/organizations/ninenines&quot;</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">Body</font> <font color="#990000">=</font> <font color="#FF0000">"{\"msg\": \"Hello world!\"}"</font>,
+<font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:post</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"application/json"</font>}
+], <font color="#009900">Body</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>The <code>gun:post/3</code>, <code>gun:put/3</code> and <code>gun:patch/3</code> functions do not take a body in their arguments. If a body is to be provided later on, using the <code>gun:data/4</code> function, then the request headers must indicate this. This can be done by setting the content-length or content-type request headers. If these headers are not set then Gun will assume the request has no body.</p>
+<p>It is recommended to send the content-length header if you know it in advance, although this is not required. If it is not set, HTTP/1.1 will use the chunked transfer-encoding, and HTTP/2 will continue normally as it is chunked by design.</p>
+<div class="listingblock"><div class="title">POST &quot;/organizations/ninenines&quot; with delayed body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">Body</font> <font color="#990000">=</font> <font color="#FF0000">"{\"msg\": \"Hello world!\"}"</font>,
+<font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:post</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-length"</font><font color="#990000">&gt;&gt;</font>, <b><font color="#000000">integer_to_binary</font></b>(<b><font color="#000080">length</font></b>(<font color="#009900">Body</font>))},
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"application/json"</font>}
+]),
+<b><font color="#000000">gun:data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">fin</font>, <font color="#009900">Body</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>The atom <code>fin</code> indicates this is the last chunk of data to be sent. You can call the <code>gun:data/4</code> function as many times as needed until you have sent the entire body. The last call must use <code>fin</code> and all the previous calls must use <code>nofin</code>. The last chunk may be empty.</p>
+<div class="listingblock"><div class="title">Streaming the request body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">sendfile</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Filepath</font>) <font color="#990000">-&gt;</font>
+ {<font color="#FF6600">ok</font>, <font color="#009900">IoDevice</font>} <font color="#990000">=</font> <b><font color="#000000">file:open</font></b>(<font color="#009900">Filepath</font>, [<font color="#FF6600">read</font>, <b><font color="#000080">binary</font></b>, <font color="#FF6600">raw</font>]),
+ <b><font color="#000000">do_sendfile</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">IoDevice</font>)<font color="#990000">.</font>
+
+<b><font color="#000000">do_sendfile</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">IoDevice</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">case</font></b> <b><font color="#000000">file:read</font></b>(<font color="#009900">IoDevice</font>, <font color="#993399">8000</font>) <b><font color="#0000FF">of</font></b>
+ <font color="#FF6600">eof</font> <font color="#990000">-&gt;</font>
+ <b><font color="#000000">gun:data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">fin</font>, <font color="#990000">&lt;&lt;&gt;&gt;</font>),
+ <b><font color="#000000">file:close</font></b>(<font color="#009900">IoDevice</font>);
+ {<font color="#FF6600">ok</font>, <font color="#009900">Bin</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">gun:data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">nofin</font>, <font color="#009900">Bin</font>),
+ <b><font color="#000000">do_sendfile</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">IoDevice</font>)
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<h4 id="_delete">DELETE</h4>
+<p>Use <code>gun:delete/2,3,4</code> to delete a resource.</p>
+<div class="listingblock"><div class="title">DELETE &quot;/organizations/ninenines&quot;</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">DELETE &quot;/organizations/ninenines&quot; with custom headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"user-agent"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"revolver/1.0"</font>}
+])<font color="#990000">.</font></tt></pre>
+</div></div>
+<h4 id="_options">OPTIONS</h4>
+<p>Use <code>gun:options/2,3</code> to request information about a resource.</p>
+<div class="listingblock"><div class="title">OPTIONS &quot;/organizations/ninenines&quot;</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:options</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">OPTIONS &quot;/organizations/ninenines&quot; with custom headers</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:options</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"user-agent"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"revolver/1.0"</font>}
+])<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>You can also use this function to request information about the server itself.</p>
+<div class="listingblock"><div class="title">OPTIONS &quot;*&quot;</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:options</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"*"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h4 id="_requests_with_an_arbitrary_method">Requests with an arbitrary method</h4>
+<p>The <code>gun:request/4,5,6</code> function can be used to send requests with a configurable method name. It is mostly useful when you need a method that Gun does not understand natively.</p>
+<div class="listingblock"><div class="title">Example of a TRACE request</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:request</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"TRACE"</font>, <font color="#FF0000">"/"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"max-forwards"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"30"</font>}
+])<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_processing_responses">Processing responses</h2>
+<p>All data received from the server is sent to the owner process as a message. First a <code>gun_response</code> message is sent, followed by zero or more <code>gun_data</code> messages. If something goes wrong, a <code>gun_error</code> message is sent instead.</p>
+<p>The response message will inform you whether there will be data messages following. If it contains <code>fin</code> there will be no data messages. If it contains <code>nofin</code> then one or more data messages will follow.</p>
+<p>When using HTTP/2 this value is sent with the frame and simply passed on in the message. When using HTTP/1.1 however Gun must guess whether data will follow by looking at the response headers.</p>
+<p>You can receive messages directly, or you can use the <em>await</em> functions to let Gun receive them for you.</p>
+<div class="listingblock"><div class="title">Receiving a response using receive</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">print_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">MRef</font>) <font color="#990000">-&gt;</font>
+ <font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/"</font>),
+ <b><font color="#0000FF">receive</font></b>
+ {<font color="#FF6600">gun_response</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">fin</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>} <font color="#990000">-&gt;</font>
+ <font color="#FF6600">no_data</font>;
+ {<font color="#FF6600">gun_response</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">nofin</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">receive_data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">MRef</font>, <font color="#009900">StreamRef</font>);
+ {<font color="#FF6600">'DOWN'</font>, <font color="#009900">MRef</font>, <b><font color="#000080">process</font></b>, <font color="#009900">ConnPid</font>, <font color="#009900">Reason</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">error_logger:error_msg</font></b>(<font color="#FF0000">"Oops!"</font>),
+ <b><font color="#000080">exit</font></b>(<font color="#009900">Reason</font>)
+ <b><font color="#0000FF">after</font></b> <font color="#993399">1000</font> <font color="#990000">-&gt;</font>
+ <b><font color="#000080">exit</font></b>(<font color="#FF6600">timeout</font>)
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font>
+
+<b><font color="#000000">receive_data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">MRef</font>, <font color="#009900">StreamRef</font>) <font color="#990000">-&gt;</font>
+ <b><font color="#0000FF">receive</font></b>
+ {<font color="#FF6600">gun_data</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">nofin</font>, <font color="#009900">Data</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">io:format</font></b>(<font color="#FF0000">"~s~n"</font>, [<font color="#009900">Data</font>]),
+ <b><font color="#000000">receive_data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">MRef</font>, <font color="#009900">StreamRef</font>);
+ {<font color="#FF6600">gun_data</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">fin</font>, <font color="#009900">Data</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">io:format</font></b>(<font color="#FF0000">"~s~n"</font>, [<font color="#009900">Data</font>]);
+ {<font color="#FF6600">'DOWN'</font>, <font color="#009900">MRef</font>, <b><font color="#000080">process</font></b>, <font color="#009900">ConnPid</font>, <font color="#009900">Reason</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">error_logger:error_msg</font></b>(<font color="#FF0000">"Oops!"</font>),
+ <b><font color="#000080">exit</font></b>(<font color="#009900">Reason</font>)
+ <b><font color="#0000FF">after</font></b> <font color="#993399">1000</font> <font color="#990000">-&gt;</font>
+ <b><font color="#000080">exit</font></b>(<font color="#FF6600">timeout</font>)
+ <b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<p>While it may seem verbose, using messages like this has the advantage of never locking your process, allowing you to easily debug your code. It also allows you to start more than one connection and concurrently perform queries on all of them at the same time.</p>
+<p>You can also use Gun in a synchronous manner by using the <em>await</em> functions.</p>
+<p>The <code>gun:await/2,3,4</code> function will wait until it receives a response to, a pushed resource related to, or data from the given stream.</p>
+<p>When calling <code>gun:await/2,3</code> and not passing a monitor reference, one is automatically created for you for the duration of the call.</p>
+<p>The <code>gun:await_body/2,3,4</code> works similarly, but returns the body received. Both functions can be combined to receive the response and its body sequentially.</p>
+<div class="listingblock"><div class="title">Receiving a response using await</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/"</font>),
+<b><font color="#0000FF">case</font></b> <b><font color="#000000">gun:await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>) <b><font color="#0000FF">of</font></b>
+ {<font color="#FF6600">response</font>, <font color="#FF6600">fin</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>} <font color="#990000">-&gt;</font>
+ <font color="#FF6600">no_data</font>;
+ {<font color="#FF6600">response</font>, <font color="#FF6600">nofin</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>} <font color="#990000">-&gt;</font>
+ {<font color="#FF6600">ok</font>, <font color="#009900">Body</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>),
+ <b><font color="#000000">io:format</font></b>(<font color="#FF0000">"~s~n"</font>, [<font color="#009900">Body</font>])
+<b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_handling_streams_pushed_by_the_server">Handling streams pushed by the server</h2>
+<p>The HTTP/2 protocol allows the server to push more than one resource for every request. It will start sending those extra resources before it starts sending the response itself, so Gun will send you <code>gun_push</code> messages before <code>gun_response</code> when that happens.</p>
+<p>You can safely choose to ignore <code>gun_push</code> messages, or you can handle them. If you do, you can either receive the messages directly or use <em>await</em> functions.</p>
+<p>The <code>gun_push</code> message contains both the new stream reference and the stream reference of the original request.</p>
+<div class="listingblock"><div class="title">Receiving a pushed response using receive</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#0000FF">receive</font></b>
+ {<font color="#FF6600">gun_push</font>, <font color="#009900">ConnPid</font>, <font color="#009900">OriginalStreamRef</font>, <font color="#009900">PushedStreamRef</font>,
+ <font color="#009900">Method</font>, <font color="#009900">Host</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">enjoy</font></b>()
+<b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<p>If you use the <code>gun:await/2,3,4</code> function, however, Gun will use the original reference to identify the message but will return a tuple that doesn&apos;t contain it.</p>
+<div class="listingblock"><div class="title">Receiving a pushed response using await</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">push</font>, <font color="#009900">PushedStreamRef</font>, <font color="#009900">Method</font>, <font color="#009900">URI</font>, <font color="#009900">Headers</font>}
+ <font color="#990000">=</font> <b><font color="#000000">gun:await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">OriginalStreamRef</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>The <code>PushedStreamRef</code> variable can then be used with <code>gun:await/2,3,4</code> and <code>gun:await_body/2,3,4</code>.</p>
+<h2 id="_flushing_unwanted_messages">Flushing unwanted messages</h2>
+<p>Gun provides the function <code>gun:flush/1</code> to quickly get rid of unwanted messages sitting in the process mailbox. You can use it to get rid of all messages related to a connection, or just the messages related to a stream.</p>
+<div class="listingblock"><div class="title">Flush all messages from a Gun connection</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:flush</font></b>(<font color="#009900">ConnPid</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Flush all messages from a specific stream</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:flush</font></b>(<font color="#009900">StreamRef</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_redirecting_responses_to_a_different_process">Redirecting responses to a different process</h2>
+<p>Gun allows you to specify which process will handle responses to a request via the <code>reply_to</code> request option.</p>
+<div class="listingblock"><div class="title">GET &quot;/organizations/ninenines&quot; to a different process</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/organizations/ninenines"</font>, [],
+ #{<font color="#0000FF">reply_to</font> <font color="#990000">=&gt;</font> <font color="#009900">Pid</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+ <a style="float:left" href="https://ninenines.eu/docs/en/gun/1.2/guide/connect/">
+ Connection
+ </a>
+
+
+
+ <a style="float:right" href="https://ninenines.eu/docs/en/gun/1.2/guide/websocket/">
+ Websocket
+ </a>
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/guide/index.html b/docs/en/gun/1.2/guide/index.html
new file mode 100644
index 00000000..2b43b752
--- /dev/null
+++ b/docs/en/gun/1.2/guide/index.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Gun User Guide</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Gun User Guide</span></h1>
+
+<h2 id="_interface">Interface</h2>
+<ul><li><a href="introduction/">Introduction</a>
+</li>
+<li><a href="start/">Starting and stopping</a>
+</li>
+<li><a href="protocols/">Supported protocols</a>
+</li>
+<li><a href="connect/">Connection</a>
+</li>
+<li><a href="http/">Using HTTP</a>
+</li>
+<li><a href="websocket/">Using Websocket</a>
+</li>
+</ul>
+<h2 id="_additional_information">Additional information</h2>
+<ul><li><a href="migrating_from_1.1/">Migrating from Gun 1.1 to 1.2</a>
+</li>
+<li><a href="migrating_from_1.0/">Migrating from Gun 1.0 to 1.1</a>
+</li>
+</ul>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/guide/introduction.asciidoc b/docs/en/gun/1.2/guide/introduction.asciidoc
new file mode 100644
index 00000000..f7cd9c10
--- /dev/null
+++ b/docs/en/gun/1.2/guide/introduction.asciidoc
@@ -0,0 +1,52 @@
+[[introduction]]
+== Introduction
+
+Gun is an HTTP client for Erlang/OTP.
+
+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 19.0 and newer.
+
+=== License
+
+Gun uses the ISC License.
+
+----
+Copyright (c) 2013-2018, Loïc Hoguin <[email protected]>
+
+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.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+----
+
+=== Versioning
+
+Gun uses http://semver.org/[Semantic Versioning 2.0.0].
+
+=== Conventions
+
+In the HTTP protocol, the method name is case sensitive. All standard
+method names are uppercase.
+
+Header names are case insensitive. Gun converts all the header names
+to lowercase, and expects your application to provide lowercase header
+names.
+
+The same applies to any other case insensitive value.
diff --git a/docs/en/gun/1.2/guide/introduction/index.html b/docs/en/gun/1.2/guide/introduction/index.html
new file mode 100644
index 00000000..f5558b24
--- /dev/null
+++ b/docs/en/gun/1.2/guide/introduction/index.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Introduction</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Introduction</span></h1>
+
+<p>Gun is an HTTP client for Erlang/OTP.</p>
+<p>Gun supports the HTTP/2, HTTP/1.1 and Websocket protocols.</p>
+<h2 id="_prerequisites">Prerequisites</h2>
+<p>Knowledge of Erlang, but also of the HTTP/1.1, HTTP/2 and Websocket protocols is required in order to read this guide.</p>
+<h2 id="_supported_platforms">Supported platforms</h2>
+<p>Gun is tested and supported on Linux, FreeBSD, Windows and OSX.</p>
+<p>Gun is developed for Erlang/OTP 19.0 and newer.</p>
+<h2 id="_license">License</h2>
+<p>Gun uses the ISC License.</p>
+<div class="listingblock"><div class="content"><pre>Copyright (c) 2013-2018, 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.
+
+THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</pre></div></div>
+<h2 id="_versioning">Versioning</h2>
+<p>Gun uses <a href="http://semver.org/">Semantic Versioning 2.0.0</a>.</p>
+<h2 id="_conventions">Conventions</h2>
+<p>In the HTTP protocol, the method name is case sensitive. All standard method names are uppercase.</p>
+<p>Header names are case insensitive. Gun converts all the header names to lowercase, and expects your application to provide lowercase header names.</p>
+<p>The same applies to any other case insensitive value.</p>
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+
+
+ <a style="float:right" href="https://ninenines.eu/docs/en/gun/1.2/guide/start/">
+ Starting and stopping
+ </a>
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/guide/migrating_from_1.0.asciidoc b/docs/en/gun/1.2/guide/migrating_from_1.0.asciidoc
new file mode 100644
index 00000000..8057683c
--- /dev/null
+++ b/docs/en/gun/1.2/guide/migrating_from_1.0.asciidoc
@@ -0,0 +1,21 @@
+[appendix]
+== Migrating from Gun 1.0 to 1.1
+
+Gun 1.1 updates the Cowlib dependency to 2.5.1 and fixes a
+few problems with experimental features.
+
+== Features added
+
+* Update Cowlib to 2.5.1
+
+=== Bugs fixed
+
+* A bug in the experimental `gun_sse_h` where lone id lines
+ were not propagated has been fixed by updating the Cowlib
+ dependency.
+
+* The status code was incorrectly given to the experimental
+ content handlers as a binary. It has been fixed an an
+ integer is now given as was intended.
+
+* A number of Dialyzer warnings have been fixed.
diff --git a/docs/en/gun/1.2/guide/migrating_from_1.0/index.html b/docs/en/gun/1.2/guide/migrating_from_1.0/index.html
new file mode 100644
index 00000000..96f43341
--- /dev/null
+++ b/docs/en/gun/1.2/guide/migrating_from_1.0/index.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Migrating from Gun 1.0 to 1.1</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Migrating from Gun 1.0 to 1.1</span></h1>
+
+<p>Gun 1.1 updates the Cowlib dependency to 2.5.1 and fixes a few problems with experimental features.</p>
+<h2 id="_features_added">Features added</h2>
+<ul><li>Update Cowlib to 2.5.1
+</li>
+</ul>
+<h2 id="_bugs_fixed">Bugs fixed</h2>
+<ul><li>A bug in the experimental <code>gun_sse_h</code> where lone id lines were not propagated has been fixed by updating the Cowlib dependency.
+</li>
+<li>The status code was incorrectly given to the experimental content handlers as a binary. It has been fixed an an integer is now given as was intended.
+</li>
+<li>A number of Dialyzer warnings have been fixed.
+</li>
+</ul>
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+ <a style="float:left" href="https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/">
+ Migrating from Gun 1.1 to 1.2
+ </a>
+
+
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/guide/migrating_from_1.1.asciidoc b/docs/en/gun/1.2/guide/migrating_from_1.1.asciidoc
new file mode 100644
index 00000000..bc2097f9
--- /dev/null
+++ b/docs/en/gun/1.2/guide/migrating_from_1.1.asciidoc
@@ -0,0 +1,28 @@
+[appendix]
+== Migrating from Gun 1.1 to 1.2
+
+Gun 1.2 adds support for the CONNECT request over HTTP/1.1
+connections.
+
+== Features added
+
+* CONNECT requests can now be issued on HTTP/1.1 connections.
+ The tunneled connection can use any of the protocols Gun
+ supports: HTTP/1.1, HTTP/2 and Websocket over both TCP and
+ TLS transports. Note that Gun currently does not support
+ tunneling a TLS connection over a TLS connection due to
+ limitations in Erlang/OTP.
+
+* Gun supports sending multiple CONNECT requests, allowing
+ the tunnel to the origin server to go through multiple
+ proxies.
+
+* Gun supports sending CONNECT requests with authorization
+ credentials using the Basic authentication mechanism.
+
+* Update Cowlib to 2.6.0
+
+== Functions added
+
+* The functions `gun:connect/2,3,4` have been added. They can
+ be used to initiate CONNECT requests on HTTP/1.1 connections.
diff --git a/docs/en/gun/1.2/guide/migrating_from_1.1/index.html b/docs/en/gun/1.2/guide/migrating_from_1.1/index.html
new file mode 100644
index 00000000..d69ad239
--- /dev/null
+++ b/docs/en/gun/1.2/guide/migrating_from_1.1/index.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Migrating from Gun 1.1 to 1.2</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Migrating from Gun 1.1 to 1.2</span></h1>
+
+<p>Gun 1.2 adds support for the CONNECT request over HTTP/1.1 connections.</p>
+<h2 id="_features_added">Features added</h2>
+<ul><li>CONNECT requests can now be issued on HTTP/1.1 connections. The tunneled connection can use any of the protocols Gun supports: HTTP/1.1, HTTP/2 and Websocket over both TCP and TLS transports. Note that Gun currently does not support tunneling a TLS connection over a TLS connection due to limitations in Erlang/OTP.
+</li>
+<li>Gun supports sending multiple CONNECT requests, allowing the tunnel to the origin server to go through multiple proxies.
+</li>
+<li>Gun supports sending CONNECT requests with authorization credentials using the Basic authentication mechanism.
+</li>
+<li>Update Cowlib to 2.6.0
+</li>
+</ul>
+<h2 id="_functions_added">Functions added</h2>
+<ul><li>The functions <code>gun:connect/2,3,4</code> have been added. They can be used to initiate CONNECT requests on HTTP/1.1 connections.
+</li>
+</ul>
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+ <a style="float:left" href="https://ninenines.eu/docs/en/gun/1.2/guide/websocket/">
+ Websocket
+ </a>
+
+
+
+ <a style="float:right" href="https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.0/">
+ Migrating from Gun 1.0 to 1.1
+ </a>
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/guide/protocols.asciidoc b/docs/en/gun/1.2/guide/protocols.asciidoc
new file mode 100644
index 00000000..2c4fd10e
--- /dev/null
+++ b/docs/en/gun/1.2/guide/protocols.asciidoc
@@ -0,0 +1,127 @@
+[[protocols]]
+== Supported protocols
+
+This chapter describes the protocols supported and the
+operations available to them.
+
+=== HTTP/1.1
+
+HTTP/1.1 is a text request-response protocol. The client
+sends a request, the server sends back a response.
+
+Gun provides convenience functions for performing GET, HEAD,
+OPTIONS, POST, PATCH, PUT, and DELETE requests. All these
+functions are aliases of `gun:request/4,5,6` for the respective
+methods. Gun also provides a `gun:data/4` function for streaming
+the request body.
+
+Gun will send a `gun_inform` message for every intermediate
+informational responses received. They will always be sent
+before the `gun_response` message.
+
+Gun will send a `gun_response` message for every response
+received, followed by zero or more `gun_data` messages for
+the response body, which is optionally terminated by a
+`gun_trailers` message. If something goes wrong, a `gun_error`
+will be sent instead.
+
+Gun provides convenience functions for dealing with messages.
+The `gun:await/2,3,4` function waits for a response to the given
+request, and the `gun:await_body/2,3,4` function for the
+response body. The `gun:flush/1` function can be used to clear all
+messages related to a request or a connection from the mailbox
+of the calling process.
+
+The function `gun:cancel/2` can be used to silence the
+response to a request previously sent if it is no longer
+needed. When using HTTP/1.1 there is no multiplexing so
+Gun will have to receive the response fully before any
+other responses can be received.
+
+Finally, Gun can upgrade an HTTP/1.1 connection to Websocket.
+It provides the `gun:ws_upgrade/2,3,4` function for that
+purpose. A `gun_upgrade` message will be sent on success;
+a `gun_response` message otherwise.
+
+=== HTTP/2
+
+HTTP/2 is a binary protocol based on HTTP, compatible with
+the HTTP semantics, that reduces the complexity of parsing
+requests and responses, compresses the HTTP headers and
+allows the server to push additional resources along with
+the normal response to the original request.
+
+The HTTP/2 interface is very similar to HTTP/1.1, so this
+section instead focuses on the differences in the interface
+for the two protocols.
+
+Gun will send `gun_push` messages for every push received.
+They will always be sent before the `gun_response` message.
+They can be ignored safely if they are not needed, or they
+can be canceled.
+
+The `gun:cancel/2` function will use the HTTP/2 stream
+cancellation mechanism which allows Gun to inform the
+server to stop sending a response for this particular
+request, saving resources.
+
+It is not currently possible to upgrade an HTTP/2 connection
+to Websocket. Support for this will be added in a future
+release.
+
+=== Websocket
+
+Websocket is a binary protocol built on top of HTTP that
+allows asynchronous concurrent communication between the
+client and the server. A Websocket server can push data to
+the client at any time.
+
+Websocket is only available as a connection upgrade over
+an HTTP/1.1 connection.
+
+Once the Websocket connection is established, the only
+operation available on this connection is sending Websocket
+frames using `gun:ws_send/2`.
+
+Gun will send a `gun_ws` message for every frame received.
+
+=== Summary
+
+The two following tables summarize the supported operations
+and the messages Gun sends depending on the connection's
+current protocol.
+
+.Supported operations per protocol
+[cols="<,3*^",options="header"]
+|===
+| Operation | HTTP/1.1 | HTTP/2 | Websocket
+| delete | yes | yes | no
+| get | yes | yes | no
+| head | yes | yes | no
+| options | yes | yes | no
+| patch | yes | yes | no
+| post | yes | yes | no
+| put | yes | yes | no
+| request | yes | yes | no
+| data | yes | yes | no
+| await | yes | yes | no
+| await_body | yes | yes | no
+| flush | yes | yes | no
+| cancel | yes | yes | no
+| ws_upgrade | yes | no | no
+| ws_send | no | no | yes
+|===
+
+.Messages sent per protocol
+[cols="<,3*^",options="header"]
+|===
+| Message | HTTP/1.1 | HTTP/2 | Websocket
+| gun_push | no | yes | no
+| gun_inform | yes | yes | no
+| gun_response | yes | yes | no
+| gun_data | yes | yes | no
+| gun_trailers | yes | yes | no
+| gun_error | yes | yes | yes
+| gun_upgrade | yes | no | no
+| gun_ws | no | no | yes
+|===
diff --git a/docs/en/gun/1.2/guide/protocols/index.html b/docs/en/gun/1.2/guide/protocols/index.html
new file mode 100644
index 00000000..f48b0a5a
--- /dev/null
+++ b/docs/en/gun/1.2/guide/protocols/index.html
@@ -0,0 +1,310 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Supported protocols</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Supported protocols</span></h1>
+
+<p>This chapter describes the protocols supported and the operations available to them.</p>
+<h2 id="_http_1_1">HTTP/1.1</h2>
+<p>HTTP/1.1 is a text request-response protocol. The client sends a request, the server sends back a response.</p>
+<p>Gun provides convenience functions for performing GET, HEAD, OPTIONS, POST, PATCH, PUT, and DELETE requests. All these functions are aliases of <code>gun:request/4,5,6</code> for the respective methods. Gun also provides a <code>gun:data/4</code> function for streaming the request body.</p>
+<p>Gun will send a <code>gun_inform</code> message for every intermediate informational responses received. They will always be sent before the <code>gun_response</code> message.</p>
+<p>Gun will send a <code>gun_response</code> message for every response received, followed by zero or more <code>gun_data</code> messages for the response body, which is optionally terminated by a <code>gun_trailers</code> message. If something goes wrong, a <code>gun_error</code> will be sent instead.</p>
+<p>Gun provides convenience functions for dealing with messages. The <code>gun:await/2,3,4</code> function waits for a response to the given request, and the <code>gun:await_body/2,3,4</code> function for the response body. The <code>gun:flush/1</code> function can be used to clear all messages related to a request or a connection from the mailbox of the calling process.</p>
+<p>The function <code>gun:cancel/2</code> can be used to silence the response to a request previously sent if it is no longer needed. When using HTTP/1.1 there is no multiplexing so Gun will have to receive the response fully before any other responses can be received.</p>
+<p>Finally, Gun can upgrade an HTTP/1.1 connection to Websocket. It provides the <code>gun:ws_upgrade/2,3,4</code> function for that purpose. A <code>gun_upgrade</code> message will be sent on success; a <code>gun_response</code> message otherwise.</p>
+<h2 id="_http_2">HTTP/2</h2>
+<p>HTTP/2 is a binary protocol based on HTTP, compatible with the HTTP semantics, that reduces the complexity of parsing requests and responses, compresses the HTTP headers and allows the server to push additional resources along with the normal response to the original request.</p>
+<p>The HTTP/2 interface is very similar to HTTP/1.1, so this section instead focuses on the differences in the interface for the two protocols.</p>
+<p>Gun will send <code>gun_push</code> messages for every push received. They will always be sent before the <code>gun_response</code> message. They can be ignored safely if they are not needed, or they can be canceled.</p>
+<p>The <code>gun:cancel/2</code> function will use the HTTP/2 stream cancellation mechanism which allows Gun to inform the server to stop sending a response for this particular request, saving resources.</p>
+<p>It is not currently possible to upgrade an HTTP/2 connection to Websocket. Support for this will be added in a future release.</p>
+<h2 id="_websocket">Websocket</h2>
+<p>Websocket is a binary protocol built on top of HTTP that allows asynchronous concurrent communication between the client and the server. A Websocket server can push data to the client at any time.</p>
+<p>Websocket is only available as a connection upgrade over an HTTP/1.1 connection.</p>
+<p>Once the Websocket connection is established, the only operation available on this connection is sending Websocket frames using <code>gun:ws_send/2</code>.</p>
+<p>Gun will send a <code>gun_ws</code> message for every frame received.</p>
+<h2 id="_summary">Summary</h2>
+<p>The two following tables summarize the supported operations and the messages Gun sends depending on the connection&apos;s current protocol.</p>
+<table rules="all" width="100%" frame="border"
+ cellspacing="0" cellpadding="4">
+<caption>Supported operations per protocol</caption><thead><tr><th>Operation</th>
+<th>HTTP/1.1</th>
+<th>HTTP/2</th>
+<th>Websocket</th>
+</tr></thead><tbody><tr><td>delete</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>get</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>head</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>options</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>patch</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>post</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>put</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>request</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>data</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>await</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>await_body</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>flush</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>cancel</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>ws_upgrade</td>
+<td>yes</td>
+<td>no</td>
+<td>no</td>
+</tr>
+<tr><td>ws_send</td>
+<td>no</td>
+<td>no</td>
+<td>yes</td>
+</tr>
+</tbody></table>
+<table rules="all" width="100%" frame="border"
+ cellspacing="0" cellpadding="4">
+<caption>Messages sent per protocol</caption><thead><tr><th>Message</th>
+<th>HTTP/1.1</th>
+<th>HTTP/2</th>
+<th>Websocket</th>
+</tr></thead><tbody><tr><td>gun_push</td>
+<td>no</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>gun_inform</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>gun_response</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>gun_data</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>gun_trailers</td>
+<td>yes</td>
+<td>yes</td>
+<td>no</td>
+</tr>
+<tr><td>gun_error</td>
+<td>yes</td>
+<td>yes</td>
+<td>yes</td>
+</tr>
+<tr><td>gun_upgrade</td>
+<td>yes</td>
+<td>no</td>
+<td>no</td>
+</tr>
+<tr><td>gun_ws</td>
+<td>no</td>
+<td>no</td>
+<td>yes</td>
+</tr>
+</tbody></table>
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+ <a style="float:left" href="https://ninenines.eu/docs/en/gun/1.2/guide/start/">
+ Starting and stopping
+ </a>
+
+
+
+ <a style="float:right" href="https://ninenines.eu/docs/en/gun/1.2/guide/connect/">
+ Connection
+ </a>
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/guide/start.asciidoc b/docs/en/gun/1.2/guide/start.asciidoc
new file mode 100644
index 00000000..09720dca
--- /dev/null
+++ b/docs/en/gun/1.2/guide/start.asciidoc
@@ -0,0 +1,43 @@
+[[start]]
+== Starting and stopping
+
+This chapter describes how to start and stop the Gun application.
+
+=== Setting up
+
+Specify Gun as a dependency to your application in your favorite
+build tool.
+
+With Erlang.mk this is done by adding `gun` to the `DEPS` variable
+in your Makefile.
+
+.Adding Gun as an Erlang.mk dependency
+[source,make]
+----
+DEPS = gun
+----
+
+=== Starting
+
+Gun is an _OTP application_. It needs to be started before you can
+use it.
+
+.Starting Gun in an Erlang shell
+[source,erlang]
+----
+1> application:ensure_all_started(gun).
+{ok,[crypto,cowlib,asn1,public_key,ssl,gun]}
+----
+
+=== Stopping
+
+You can stop Gun using the `application:stop/1` function, however
+only Gun will be stopped. This is the reverse of `application:start/1`.
+The `application_ensure_all_started/1` function has no equivalent for
+stopping all applications.
+
+.Stopping Gun
+[source,erlang]
+----
+application:stop(gun).
+----
diff --git a/docs/en/gun/1.2/guide/start/index.html b/docs/en/gun/1.2/guide/start/index.html
new file mode 100644
index 00000000..6388c204
--- /dev/null
+++ b/docs/en/gun/1.2/guide/start/index.html
@@ -0,0 +1,189 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Starting and stopping</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Starting and stopping</span></h1>
+
+<p>This chapter describes how to start and stop the Gun application.</p>
+<h2 id="_setting_up">Setting up</h2>
+<p>Specify Gun as a dependency to your application in your favorite build tool.</p>
+<p>With Erlang.mk this is done by adding <code>gun</code> to the <code>DEPS</code> variable in your Makefile.</p>
+<div class="listingblock"><div class="title">Adding Gun as an Erlang.mk dependency</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">DEPS =</font> gun</tt></pre>
+</div></div>
+<h2 id="_starting">Starting</h2>
+<p>Gun is an <em>OTP application</em>. It needs to be started before you can use it.</p>
+<div class="listingblock"><div class="title">Starting Gun in an Erlang shell</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#993399">1</font><font color="#990000">&gt;</font> <b><font color="#000000">application:ensure_all_started</font></b>(<font color="#FF6600">gun</font>)<font color="#990000">.</font>
+{<font color="#FF6600">ok</font>,[<font color="#FF6600">crypto</font>,<font color="#FF6600">cowlib</font>,<font color="#FF6600">asn1</font>,<font color="#FF6600">public_key</font>,<font color="#FF6600">ssl</font>,<font color="#FF6600">gun</font>]}</tt></pre>
+</div></div>
+<h2 id="_stopping">Stopping</h2>
+<p>You can stop Gun using the <code>application:stop/1</code> function, however only Gun will be stopped. This is the reverse of <code>application:start/1</code>. The <code>application_ensure_all_started/1</code> function has no equivalent for stopping all applications.</p>
+<div class="listingblock"><div class="title">Stopping Gun</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">application:stop</font></b>(<font color="#FF6600">gun</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+ <a style="float:left" href="https://ninenines.eu/docs/en/gun/1.2/guide/introduction/">
+ Introduction
+ </a>
+
+
+
+ <a style="float:right" href="https://ninenines.eu/docs/en/gun/1.2/guide/protocols/">
+ Supported protocols
+ </a>
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/guide/websocket.asciidoc b/docs/en/gun/1.2/guide/websocket.asciidoc
new file mode 100644
index 00000000..418b4561
--- /dev/null
+++ b/docs/en/gun/1.2/guide/websocket.asciidoc
@@ -0,0 +1,117 @@
+[[websocket]]
+== Websocket
+
+This chapter describes how to use the Gun client for
+communicating with a Websocket server.
+
+// @todo recovering from connection failure, reconnecting to Websocket etc.
+
+=== HTTP upgrade
+
+Websocket is a protocol built on top of HTTP. To use Websocket,
+you must first request for the connection to be upgraded. Only
+HTTP/1.1 connections can be upgraded to Websocket, so you might
+need to restrict the protocol to HTTP/1.1 if you are planning
+to use Websocket over TLS.
+
+You must use the `gun:ws_upgrade/2,3,4` function to upgrade
+to Websocket. This function can be called anytime after connection,
+so you can send HTTP requests before upgrading to Websocket.
+
+.Upgrade to Websocket
+[source,erlang]
+----
+gun:ws_upgrade(ConnPid, "/websocket").
+----
+
+Gun will set all the necessary headers for performing the
+Websocket upgrade, but you can specify additional headers
+if needed. For example you can request a custom sub-protocol.
+
+.Upgrade to Websocket and request a protocol
+[source,erlang]
+----
+gun:ws_upgrade(ConnPid, "/websocket", [
+ {<<"sec-websocket-protocol">>, "mychat"}
+]).
+----
+
+You can pass the Websocket options as part of the `gun:open/2,3`
+call when opening the connection, or using the `gun:ws_upgrade/4`.
+The fourth argument is those same options.
+
+When the upgrade succeeds, a `gun_upgrade` message is sent.
+If the server does not understand Websocket or refused the
+upgrade, a `gun_response` message is sent. If Gun couldn't
+perform the upgrade due to an error (for example attempting
+to upgrade to Websocket on an HTTP/1.0 connection) then a
+`gun_error` message is sent.
+
+When the server does not understand Websocket, it may send
+a meaningful response which should be processed. In the
+following example we however ignore it:
+
+[source,erlang]
+----
+receive
+ {gun_upgrade, ConnPid, StreamRef, [<<"websocket">>], Headers} ->
+ upgrade_success(ConnPid, StreamRef);
+ {gun_response, ConnPid, _, _, Status, Headers} ->
+ exit({ws_upgrade_failed, Status, Headers});
+ {gun_error, ConnPid, StreamRef, Reason} ->
+ exit({ws_upgrade_failed, Reason})
+ %% More clauses here as needed.
+after 1000 ->
+ exit(timeout)
+end.
+----
+
+=== Sending data
+
+Once the Websocket upgrade has completed successfully, you no
+longer have access to functions for performing requests. You
+can only send and receive Websocket messages.
+
+Use `gun:ws_send/2` to send messages to the server.
+
+.Send a text frame
+[source,erlang]
+----
+gun:ws_send(ConnPid, {text, "Hello!"}).
+----
+
+// @todo Implement sending of N frames
+//
+//.Send a text frame, a binary frame and then close the connection
+//[source,erlang]
+//----
+//gun:ws_send(ConnPid, [
+// {text, "Hello!"},
+// {binary, BinaryValue},
+// close
+//]).
+//----
+
+Note that if you send a close frame, Gun will close the connection
+cleanly but will attempt to reconnect afterwards.
+
+=== Receiving data
+
+Gun sends an Erlang message to the owner process for every
+Websocket message it receives.
+
+[source,erlang]
+----
+receive
+ {gun_ws, ConnPid, StreamRef, Frame} ->
+ handle_frame(ConnPid, StreamRef, Frame)
+end.
+----
+
+// @todo auto ping has not been implemented yet
+//
+//Gun will automatically send ping messages to the server to keep
+//the connection alive, however if the connection dies and Gun has
+//to reconnect it will not upgrade to Websocket automatically, you
+//need to perform the operation when you receive the `gun_error`
+//message.
diff --git a/docs/en/gun/1.2/guide/websocket/index.html b/docs/en/gun/1.2/guide/websocket/index.html
new file mode 100644
index 00000000..189fcf44
--- /dev/null
+++ b/docs/en/gun/1.2/guide/websocket/index.html
@@ -0,0 +1,240 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Websocket</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Websocket</span></h1>
+
+<p>This chapter describes how to use the Gun client for communicating with a Websocket server.</p>
+<!-- @todo recovering from connection failure, reconnecting to Websocket etc.-->
+<h2 id="_http_upgrade">HTTP upgrade</h2>
+<p>Websocket is a protocol built on top of HTTP. To use Websocket, you must first request for the connection to be upgraded. Only HTTP/1.1 connections can be upgraded to Websocket, so you might need to restrict the protocol to HTTP/1.1 if you are planning to use Websocket over TLS.</p>
+<p>You must use the <code>gun:ws_upgrade/2,3,4</code> function to upgrade to Websocket. This function can be called anytime after connection, so you can send HTTP requests before upgrading to Websocket.</p>
+<div class="listingblock"><div class="title">Upgrade to Websocket</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:ws_upgrade</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/websocket"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>Gun will set all the necessary headers for performing the Websocket upgrade, but you can specify additional headers if needed. For example you can request a custom sub-protocol.</p>
+<div class="listingblock"><div class="title">Upgrade to Websocket and request a protocol</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:ws_upgrade</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/websocket"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"sec-websocket-protocol"</font><font color="#990000">&gt;&gt;</font>, <font color="#FF0000">"mychat"</font>}
+])<font color="#990000">.</font></tt></pre>
+</div></div>
+<p>You can pass the Websocket options as part of the <code>gun:open/2,3</code> call when opening the connection, or using the <code>gun:ws_upgrade/4</code>. The fourth argument is those same options.</p>
+<p>When the upgrade succeeds, a <code>gun_upgrade</code> message is sent. If the server does not understand Websocket or refused the upgrade, a <code>gun_response</code> message is sent. If Gun couldn&apos;t perform the upgrade due to an error (for example attempting to upgrade to Websocket on an HTTP/1.0 connection) then a <code>gun_error</code> message is sent.</p>
+<p>When the server does not understand Websocket, it may send a meaningful response which should be processed. In the following example we however ignore it:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#0000FF">receive</font></b>
+ {<font color="#FF6600">gun_upgrade</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, [<font color="#990000">&lt;&lt;</font><font color="#FF0000">"websocket"</font><font color="#990000">&gt;&gt;</font>], <font color="#009900">Headers</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">upgrade_success</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>);
+ {<font color="#FF6600">gun_response</font>, <font color="#009900">ConnPid</font>, <font color="#990000">_</font>, <font color="#990000">_</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000080">exit</font></b>({<font color="#FF6600">ws_upgrade_failed</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>});
+ {<font color="#FF6600">gun_error</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Reason</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000080">exit</font></b>({<font color="#FF6600">ws_upgrade_failed</font>, <font color="#009900">Reason</font>})
+ <i><font color="#9A1900">%% More clauses here as needed.</font></i>
+<b><font color="#0000FF">after</font></b> <font color="#993399">1000</font> <font color="#990000">-&gt;</font>
+ <b><font color="#000080">exit</font></b>(<font color="#FF6600">timeout</font>)
+<b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_sending_data">Sending data</h2>
+<p>Once the Websocket upgrade has completed successfully, you no longer have access to functions for performing requests. You can only send and receive Websocket messages.</p>
+<p>Use <code>gun:ws_send/2</code> to send messages to the server.</p>
+<div class="listingblock"><div class="title">Send a text frame</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:ws_send</font></b>(<font color="#009900">ConnPid</font>, {<font color="#FF6600">text</font>, <font color="#FF0000">"Hello!"</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<!-- @todo Implement sending of N frames-->
+<!-- -->
+<!-- .Send a text frame, a binary frame and then close the connection-->
+<!-- [source,erlang]-->
+<!-- ------>
+<!-- gun:ws_send(ConnPid, [-->
+<!-- {text, &quot;Hello!&quot;},-->
+<!-- {binary, BinaryValue},-->
+<!-- close-->
+<!-- ]).-->
+<!-- ------>
+<p>Note that if you send a close frame, Gun will close the connection cleanly but will attempt to reconnect afterwards.</p>
+<h2 id="_receiving_data">Receiving data</h2>
+<p>Gun sends an Erlang message to the owner process for every Websocket message it receives.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#0000FF">receive</font></b>
+ {<font color="#FF6600">gun_ws</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Frame</font>} <font color="#990000">-&gt;</font>
+ <b><font color="#000000">handle_frame</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Frame</font>)
+<b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<!-- @todo auto ping has not been implemented yet-->
+<!-- -->
+<!-- Gun will automatically send ping messages to the server to keep-->
+<!-- the connection alive, however if the connection dies and Gun has-->
+<!-- to reconnect it will not upgrade to Websocket automatically, you-->
+<!-- need to perform the operation when you receive the `gun_error`-->
+<!-- message.-->
+
+
+
+
+
+
+
+
+
+
+
+ <nav style="margin:1em 0">
+
+ <a style="float:left" href="https://ninenines.eu/docs/en/gun/1.2/guide/http/">
+ HTTP
+ </a>
+
+
+
+ <a style="float:right" href="https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/">
+ Migrating from Gun 1.1 to 1.2
+ </a>
+
+ </nav>
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+
+ User Guide
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/guide">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/guide">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/guide">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.await/index.html b/docs/en/gun/1.2/manual/gun.await/index.html
new file mode 100644
index 00000000..fa887576
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.await/index.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:await(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:await(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:await - Wait for a response</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#993399">5000</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">MonitorRef</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#993399">5000</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Timeout</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Timeout</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Timeout</font>, <font color="#009900">MonitorRef</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">Result</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">MonitorRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Timeout</font> <font color="#990000">::</font> <b><font color="#000000">timeout</font></b>()
+<font color="#009900">Result</font> <font color="#990000">::</font> <b><font color="#000000">tuple</font></b>() <font color="#990000">-</font> <font color="#FF6600">see</font> <font color="#FF6600">below</font></tt></pre>
+</div></div>
+<p>Wait for a response.</p>
+<p>This function waits for a message from the given stream and returns it as a tuple. An error will be returned should the process fail or a relevant message is not received within the specified duration.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+<dt>Timeout</dt>
+<dd><p>How long to wait for a message, in milliseconds.</p>
+</dd>
+<dt>MonitorRef</dt>
+<dd><p>Monitor for the Gun connection process.</p>
+<p>A monitor is automatically created for the duration of this call when one is not provided.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A number of different tuples can be returned. They correspond to the message of the same name and they contain the same elements minus the pid and stream reference. Error tuples may also be returned when a timeout or an error occur.</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">Result</font> <font color="#990000">::</font> {<font color="#FF6600">inform</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>}
+ {<font color="#FF6600">response</font>, <font color="#009900">IsFin</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>}
+ {<font color="#FF6600">data</font>, <font color="#009900">IsFin</font>, <font color="#009900">Data</font>}
+ {<font color="#FF6600">trailers</font>, <font color="#009900">Trailers</font>}
+ {<font color="#FF6600">push</font>, <font color="#009900">NewStreamRef</font>, <font color="#009900">Method</font>, <font color="#009900">URI</font>, <font color="#009900">Headers</font>}
+ {<font color="#FF6600">error</font>, <font color="#009900">Reason</font>}
+
+<font color="#009900">Reason</font> <font color="#990000">::</font> <font color="#FF6600">timeout</font> | <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Because the messages and returned tuples are equivalent, please refer to the manual pages for each message for further information:</p>
+<ul><li><a href="../gun_push">gun_push(3)</a> - Server-initiated push
+</li>
+<li><a href="../gun_inform">gun_inform(3)</a> - Informational response
+</li>
+<li><a href="../gun_response">gun_response(3)</a> - Response
+</li>
+<li><a href="../gun_data">gun_data(3)</a> - Response body
+</li>
+<li><a href="../gun_trailers">gun_trailers(3)</a> - Response trailers
+</li>
+</ul>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Wait for a response</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/articles"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/html;q=1.0, application/xml;q=0.1"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font>
+{<font color="#FF6600">response</font>, <font color="#FF6600">nofin</font>, <font color="#993399">200</font>, <font color="#009900">_Headers</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>)<font color="#990000">.</font>
+{<font color="#FF6600">data</font>, <font color="#FF6600">fin</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Hello world!"</font><font color="#990000">&gt;&gt;</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:get(3)</a>, <a href="../gun.head">gun:head(3)</a>, <a href="../gun.options">gun:options(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.delete">gun:delete(3)</a>, <a href="../gun.request">gun:request(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.await_body/index.html b/docs/en/gun/1.2/manual/gun.await_body/index.html
new file mode 100644
index 00000000..08af0b36
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.await_body/index.html
@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:await_body(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:await_body(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:await_body - Wait for the complete response body</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#993399">5000</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">MonitorRef</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#993399">5000</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Timeout</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Timeout</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Timeout</font>, <font color="#009900">MonitorRef</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Body</font>} | {<font color="#FF6600">ok</font>, <font color="#009900">Body</font>, <font color="#009900">Trailers</font>} | {<font color="#FF6600">error</font>, <font color="#009900">Reason</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">MonitorRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Timeout</font> <font color="#990000">::</font> <b><font color="#000000">timeout</font></b>()
+<font color="#009900">Body</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">Trailers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000080">binary</font></b>()}]
+<font color="#009900">Reason</font> <font color="#990000">::</font> <font color="#FF6600">timeout</font> | <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Wait for the complete response body.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+<dt>Timeout</dt>
+<dd><p>How long to wait for each message, in milliseconds.</p>
+</dd>
+<dt>MonitorRef</dt>
+<dd><p>Monitor for the Gun connection process.</p>
+<p>A monitor is automatically created for the duration of this call when one is not provided.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>The body is returned, possibly with trailers if the request contained a <code>te: trailers</code> header. Error tuples may also be returned when a timeout or an error occur.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Wait for the complete response body</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/articles"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/html;q=1.0, application/xml;q=0.1"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font>
+{<font color="#FF6600">response</font>, <font color="#FF6600">nofin</font>, <font color="#993399">200</font>, <font color="#009900">_Headers</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>)<font color="#990000">.</font>
+{<font color="#FF6600">ok</font>, <font color="#009900">_Body</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await_body</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:get(3)</a>, <a href="../gun.head">gun:head(3)</a>, <a href="../gun.options">gun:options(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.delete">gun:delete(3)</a>, <a href="../gun.request">gun:request(3)</a>, <a href="../gun.await">gun:await(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.await_up/index.html b/docs/en/gun/1.2/manual/gun.await_up/index.html
new file mode 100644
index 00000000..f19345ac
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.await_up/index.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:await_up(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:await_up(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:await_up - Wait for the connection to be up</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">await_up</font></b>(<font color="#009900">ConnPid</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await_up</font></b>(<font color="#009900">ConnPid</font>, <font color="#993399">5000</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await_up</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">MonitorRef</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await_up</font></b>(<font color="#009900">ConnPid</font>, <font color="#993399">5000</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await_up</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Timeout</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">await_up</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Timeout</font>, <font color="#009900">MonitorRef</font>)
+
+<b><font color="#000000">await_up</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Timeout</font>, <font color="#009900">MonitorRef</font>)
+ <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <font color="#009900">Protocol</font>} | {<font color="#FF6600">error</font>, <font color="#009900">Reason</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">MonitorRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Timeout</font> <font color="#990000">::</font> <b><font color="#000000">timeout</font></b>()
+<font color="#009900">Protocol</font> <font color="#990000">::</font> <font color="#FF6600">http</font> | <font color="#FF6600">http2</font>
+<font color="#009900">Reason</font> <font color="#990000">::</font> <font color="#FF6600">timeout</font> | <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Wait for the connection to be up.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Timeout</dt>
+<dd><p>How long to wait for, in milliseconds.</p>
+</dd>
+<dt>MonitorRef</dt>
+<dd><p>Monitor for the Gun connection process.</p>
+<p>A monitor is automatically created for the duration of this call when one is not provided.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>The protocol selected for this connection. It can be used to determine the capabilities of the server. Error tuples may also be returned when a timeout or an error occur.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Wait for the connection to be up</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"example.org"</font>, <font color="#993399">443</font>)<font color="#990000">.</font>
+{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await_up</font></b>(<font color="#009900">ConnPid</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.open">gun:open(3)</a>, <a href="../gun.open_unix">gun:open_unix(3)</a>, <a href="../gun_up">gun_up(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.cancel/index.html b/docs/en/gun/1.2/manual/gun.cancel/index.html
new file mode 100644
index 00000000..4ed0dd11
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.cancel/index.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:cancel(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:cancel(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:cancel - Cancel the given stream</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">cancel</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Cancel the given stream.</p>
+<p>The behavior of this function depends on the protocol selected.</p>
+<p>HTTP/1.1 does not support this feature. Gun will simply silence the stream and stop relaying messages. Gun may also decide to close the connection if the response body is too large, to avoid wasting time and bandwidth.</p>
+<p>HTTP/2 allows cancelling streams at any time.</p>
+<p>This function is asynchronous. Messages related to this stream may still be sent after the function returns.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>The atom <code>ok</code> is returned.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Cancel a stream</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:cancel</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:get(3)</a>, <a href="../gun.head">gun:head(3)</a>, <a href="../gun.options">gun:options(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.delete">gun:delete(3)</a>, <a href="../gun.request">gun:request(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.close/index.html b/docs/en/gun/1.2/manual/gun.close/index.html
new file mode 100644
index 00000000..ed7bb667
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.close/index.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:close(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:close(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:close - Brutally close the connection</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">close</font></b>(<font color="#009900">ConnPid</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()</tt></pre>
+</div></div>
+<p>Brutally close the connection.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>The atom <code>ok</code> is returned.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Close the connection</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#0000FF">ok</font> <font color="#990000">=</font> <b><font color="#000000">gun:close</font></b>(<font color="#009900">ConnPid</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.open">gun:open(3)</a>, <a href="../gun.open_unix">gun:open_unix(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.connect/index.html b/docs/en/gun/1.2/manual/gun.connect/index.html
new file mode 100644
index 00000000..b8fba81f
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.connect/index.html
@@ -0,0 +1,231 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:connect(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:connect(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:connect - Establish a tunnel to the origin server</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">connect</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Destination</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">connect</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Destination</font>, [], #{})<font color="#990000">.</font>
+
+<b><font color="#000000">connect</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Destination</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">connect</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Destination</font>, <font color="#009900">Headers</font>, #{})<font color="#990000">.</font>
+
+<b><font color="#000000">connect</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Destination</font>, <font color="#009900">Headers</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Destination</font> <font color="#990000">::</font> <b><font color="#000000">gun:connect_destination</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Establish a tunnel to the origin server.</p>
+<p>This feature is currently only available for HTTP/1.1 connections. Upon successful completion of the CONNECT request a tunnel is established and subsequent requests will go through the tunnel.</p>
+<p>Gun will not automatically re-issue the CONNECT request upon reconnection to the proxy server. The <code>gun_up</code> message can be used to know when the tunnel needs to be established again.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Destination</dt>
+<dd><p>Destination of the CONNECT request.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.2</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Establish a tunnel</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"proxy.example.org"</font>, <font color="#993399">1080</font>),
+{<font color="#FF6600">ok</font>, <font color="#FF6600">http</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await_up</font></b>(<font color="#009900">ConnPid</font>),
+<font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:connect</font></b>(<font color="#009900">ConnPid</font>, #{
+ <font color="#0000FF">host</font> <font color="#990000">=&gt;</font> <font color="#FF0000">"origin-server.example.org"</font>,
+ <font color="#0000FF">port</font> <font color="#990000">=&gt;</font> <font color="#993399">80</font>
+}),
+{<font color="#FF6600">response</font>, <font color="#FF6600">fin</font>, <font color="#993399">200</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>),
+<i><font color="#9A1900">%% Subsequent requests will be sent to origin-server.example.org.</font></i></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Establish a tunnel for a secure HTTP/2 connection</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"proxy.example.org"</font>, <font color="#993399">1080</font>),
+{<font color="#FF6600">ok</font>, <font color="#FF6600">http</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await_up</font></b>(<font color="#009900">ConnPid</font>),
+<font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:connect</font></b>(<font color="#009900">ConnPid</font>, #{
+ <font color="#0000FF">host</font> <font color="#990000">=&gt;</font> <font color="#FF0000">"origin-server.example.org"</font>,
+ <font color="#0000FF">port</font> <font color="#990000">=&gt;</font> <font color="#993399">80</font>,
+ <font color="#0000FF">protocol</font> <font color="#990000">=&gt;</font> <font color="#FF6600">http2</font>,
+ <font color="#0000FF">transport</font> <font color="#990000">=&gt;</font> <font color="#FF6600">tls</font>
+}),
+{<font color="#FF6600">response</font>, <font color="#FF6600">fin</font>, <font color="#993399">200</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>),
+<i><font color="#9A1900">%% Subsequent requests will be sent to origin-server.example.org.</font></i></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Establish a tunnel using proxy authorization</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"proxy.example.org"</font>, <font color="#993399">1080</font>),
+{<font color="#FF6600">ok</font>, <font color="#FF6600">http</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await_up</font></b>(<font color="#009900">ConnPid</font>),
+<font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:connect</font></b>(<font color="#009900">ConnPid</font>, #{
+ <font color="#0000FF">host</font> <font color="#990000">=&gt;</font> <font color="#FF0000">"origin-server.example.org"</font>,
+ <font color="#0000FF">port</font> <font color="#990000">=&gt;</font> <font color="#993399">80</font>,
+ <font color="#0000FF">username</font> <font color="#990000">=&gt;</font> <font color="#FF0000">"essen"</font>,
+ <font color="#0000FF">password</font> <font color="#990000">=&gt;</font> <font color="#FF0000">"myrealpasswordis"</font>
+}),
+{<font color="#FF6600">response</font>, <font color="#FF6600">fin</font>, <font color="#993399">200</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">gun:await</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>),
+<i><font color="#9A1900">%% Subsequent requests will be sent to origin-server.example.org.</font></i></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.await_up">gun:await_up(3)</a>, <a href="../gun_up">gun_up(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.data/index.html b/docs/en/gun/1.2/manual/gun.data/index.html
new file mode 100644
index 00000000..1aead1f3
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.data/index.html
@@ -0,0 +1,189 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:data(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:data(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:data - Stream the body of a request</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">IsFin</font>, <font color="#009900">Data</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">IsFin</font> <font color="#990000">::</font> <font color="#FF6600">fin</font> | <font color="#FF6600">nofin</font>
+<font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()</tt></pre>
+</div></div>
+<p>Stream the body of a request.</p>
+<p>This function can only be used if the original request had headers indicating that a body would be streamed.</p>
+<p>All calls to this function must use the <code>nofin</code> flag except for the last which must use <code>fin</code> to indicate the end of the request body.</p>
+<p>Empty data is allowed regardless of the value of <code>IsFin</code>. Gun may or may not send empty data chunks, however.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+<dt>IsFin</dt>
+<dd><p>Whether this message terminates the request.</p>
+</dd>
+<dt>Data</dt>
+<dd><p>All or part of the response body.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>The atom <code>ok</code> is returned.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Stream the body of a request</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:put</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/lang/fr_FR/hello"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font>
+<b><font color="#000000">gun:data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">nofin</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Bonjour !\n"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font>
+<b><font color="#000000">gun:data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">fin</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Bonsoir !\n"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.request">gun:request(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.delete/index.html b/docs/en/gun/1.2/manual/gun.delete/index.html
new file mode 100644
index 00000000..c6034ac6
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.delete/index.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:delete(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:delete(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:delete - Delete a resource</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, [], #{})<font color="#990000">.</font>
+
+<b><font color="#000000">delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, #{})
+
+<b><font color="#000000">delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Delete a resource.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Delete a resource</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/drafts/123"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Delete a resource with request options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:delete</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/drafts/123"</font>, [],
+ #{<font color="#0000FF">reply_to</font> <font color="#990000">=&gt;</font> <font color="#009900">ReplyToPid</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a>, <a href="../gun_push">gun_push(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_data">gun_data(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.flush/index.html b/docs/en/gun/1.2/manual/gun.flush/index.html
new file mode 100644
index 00000000..c9f0c895
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.flush/index.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:flush(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:flush(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:flush - Flush all messages related to a connection or a stream</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">flush</font></b>(<font color="#009900">ConnPid</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+<b><font color="#000000">flush</font></b>(<font color="#009900">StreamRef</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Flush all messages related to a connection or a stream.</p>
+<h2 id="_arguments">Arguments</h2>
+<p>Either of these arguments may be provided:</p>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>The atom <code>ok</code> is returned.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Flush all messages from a connection</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:flush</font></b>(<font color="#009900">ConnPid</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Flush messages from a single stream</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:flush</font></b>(<font color="#009900">StreamRef</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a>, <a href="../gun.await_up">gun:await_up(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.get/index.html b/docs/en/gun/1.2/manual/gun.get/index.html
new file mode 100644
index 00000000..b438ec66
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.get/index.html
@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:get(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:get(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:get - Get a resource representation</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000080">get</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000080">get</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, [], #{})<font color="#990000">.</font>
+
+<b><font color="#000080">get</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000080">get</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, #{})
+
+<b><font color="#000080">get</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Get a resource representation.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Get a resource representation</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/articles"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/html;q=1.0, application/xml;q=0.1"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Get a resource representation with request options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:get</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/articles"</font>, [], #{
+ <font color="#0000FF">reply_to</font> <font color="#990000">=&gt;</font> <font color="#009900">ReplyToPid</font>
+})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.head">gun:head(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a>, <a href="../gun_push">gun_push(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_data">gun_data(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.head/index.html b/docs/en/gun/1.2/manual/gun.head/index.html
new file mode 100644
index 00000000..08ae2464
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.head/index.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:head(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:head(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:head - Get headers of a resource representation</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">head</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">head</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, [], #{})<font color="#990000">.</font>
+
+<b><font color="#000000">head</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">head</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, #{})
+
+<b><font color="#000000">head</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Get headers of a resource representation.</p>
+<p>This function performs the same operation as <a href="../gun.get">gun:get(3)</a>, except the server will not send the resource representation, only the response&apos;s status code and headers.</p>
+<p>While servers are supposed to send the same headers as for a GET request, they sometimes will not. For example the <code>content-length</code> header may be dropped from the response.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Get headers of a resource representation</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:head</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/articles"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"accept"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/html;q=1.0, application/xml;q=0.1"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Get headers of a resource representation with request options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:head</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/articles"</font>, [], #{
+ <font color="#0000FF">reply_to</font> <font color="#990000">=&gt;</font> <font color="#009900">ReplyToPid</font>
+})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:head(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun_push">gun_push(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_response">gun_response(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.info/index.html b/docs/en/gun/1.2/manual/gun.info/index.html
new file mode 100644
index 00000000..4518add7
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.info/index.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:info(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:info(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:info - Obtain information about the connection</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">info</font></b>(<font color="#009900">ConnPid</font>) <font color="#990000">-&gt;</font> <font color="#009900">Info</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Info</font> <font color="#990000">::</font> #{
+ <font color="#0000FF">sock_ip</font> <font color="#990000">=&gt;</font> <b><font color="#000000">inet:ip_address</font></b>(),
+ <font color="#0000FF">sock_port</font> <font color="#990000">=&gt;</font> <b><font color="#000000">inet:port_number</font></b>()
+}</tt></pre>
+</div></div>
+<p>Obtain information about the connection.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A map is returned containing various informations about the connection.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Obtain information about the connection</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">Info</font> <font color="#990000">=</font> <b><font color="#000000">gun:info</font></b>(<font color="#009900">ConnPid</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.open">gun:open(3)</a>, <a href="../gun.open_unix">gun:open_unix(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.open/index.html b/docs/en/gun/1.2/manual/gun.open/index.html
new file mode 100644
index 00000000..f8bf4d98
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.open/index.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:open(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:open(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:open - Open a connection to the given host and port</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">open</font></b>(<font color="#009900">Host</font>, <font color="#009900">Port</font>) <font color="#990000">-&gt;</font> <b><font color="#000000">open</font></b>(<font color="#009900">Host</font>, <font color="#009900">Port</font>, #{})
+<b><font color="#000000">open</font></b>(<font color="#009900">Host</font>, <font color="#009900">Port</font>, <font color="#009900">Opts</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <b><font color="#000080">pid</font></b>()} | {<font color="#FF6600">error</font>, <b><font color="#000000">any</font></b>()}
+
+<font color="#009900">Host</font> <font color="#990000">::</font> <b><font color="#000000">inet:hostname</font></b>() | <b><font color="#000000">inet:ip_address</font></b>()
+<font color="#009900">Port</font> <font color="#990000">::</font> <b><font color="#000000">inet:port_number</font></b>()
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">gun:opts</font></b>()</tt></pre>
+</div></div>
+<p>Open a connection to the given host and port.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>Host</dt>
+<dd><p>Host or IP address to connect to.</p>
+</dd>
+<dt>Port</dt>
+<dd><p>Port to connect to.</p>
+</dd>
+<dt>Opts</dt>
+<dd><p>Options for this connection.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>The pid of the newly created Gun process is returned. Note that this does not indicate that the connection has been successfully opened; the <a href="../gun_up">gun_up(3)</a> message will be sent for that.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Connect to a server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"example.org"</font>, <font color="#993399">443</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Connect to a server with custom options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>(<font color="#FF0000">"example.org"</font>, <font color="#993399">443</font>,
+ #{<font color="#0000FF">protocols</font> <font color="#990000">=&gt;</font> [<font color="#FF6600">http2</font>]})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Connect to a server using its IP address</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open</font></b>({<font color="#993399">127</font>,<font color="#993399">0</font>,<font color="#993399">0</font>,<font color="#993399">1</font>}, <font color="#993399">443</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.open_unix">gun:open_unix(3)</a>, <a href="../gun.await_up">gun:await_up(3)</a>, <a href="../gun_up">gun_up(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.open_unix/index.html b/docs/en/gun/1.2/manual/gun.open_unix/index.html
new file mode 100644
index 00000000..d126d75c
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.open_unix/index.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:open_unix(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:open_unix(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:open_unix - Open a connection to the given Unix domain socket</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">open_unix</font></b>(<font color="#009900">SocketPath</font>, <font color="#009900">Opts</font>) <font color="#990000">-&gt;</font> {<font color="#FF6600">ok</font>, <b><font color="#000080">pid</font></b>()} | {<font color="#FF6600">error</font>, <b><font color="#000000">any</font></b>()}
+
+<font color="#009900">SocketPath</font> <font color="#990000">::</font> <b><font color="#000000">string</font></b>()
+<font color="#009900">Opts</font> <font color="#990000">::</font> <b><font color="#000000">gun:opts</font></b>()</tt></pre>
+</div></div>
+<p>Open a connection to the given Unix domain socket.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>SocketPath</dt>
+<dd><p>Path to the Unix domain socket to connect to.</p>
+</dd>
+<dt>Opts</dt>
+<dd><p>Options for this connection.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>The pid of the newly created Gun process is returned. Note that this does not indicate that the connection has been successfully opened; the <a href="../gun_up">gun_up(3)</a> message will be sent for that.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Connect to a server via a Unix domain socket</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open_unix</font></b>(<font color="#FF0000">"/var/run/dbus/system_bus_socket"</font>, #{})<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Connect to a server via a Unix domain socket with custom options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#009900">ConnPid</font>} <font color="#990000">=</font> <b><font color="#000000">gun:open_unix</font></b>(<font color="#FF0000">"/var/run/dbus/system_bus_socket"</font>,
+ #{<font color="#0000FF">protocols</font> <font color="#990000">=&gt;</font> [<font color="#FF6600">http2</font>]})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.open">gun:open(3)</a>, <a href="../gun.await_up">gun:await_up(3)</a>, <a href="../gun_up">gun_up(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.options/index.html b/docs/en/gun/1.2/manual/gun.options/index.html
new file mode 100644
index 00000000..e883e2ab
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.options/index.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:options(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:options(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:options - Query the capabilities of the server or a resource</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">options</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">options</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, [], #{})<font color="#990000">.</font>
+
+<b><font color="#000000">options</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">options</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, #{})
+
+<b><font color="#000000">options</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Query the capabilities of the server or a resource.</p>
+<p>The special path <code>&quot;*&quot;</code> can be used to obtain information about the server as a whole. Any other path will return information about that resource specifically.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Query the capabilities of the server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:options</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"*"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Query the capabilities of a resource</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:options</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/articles"</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_data">gun_data(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.patch/index.html b/docs/en/gun/1.2/manual/gun.patch/index.html
new file mode 100644
index 00000000..a7a70c67
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.patch/index.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:patch(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:patch(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:patch - Apply a set of changes to a resource</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">patch</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<b><font color="#000000">patch</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">patch</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, #{})
+
+<b><font color="#000000">patch</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">Body</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Apply a set of changes to a resource.</p>
+<p>The behavior of this function varies depending on whether a body is provided.</p>
+<p>The function <code>patch/3</code> expects either a content-length or content-type header to indicate that a body will be sent afterwards. The body can then be sent using <a href="../gun.data">gun:data(3)</a>.</p>
+<p>The function <code>patch/4,5</code> sends the entire request, including the request body, immediately. It is therefore not possible to use <a href="../gun.data">gun:data(3)</a> after that. You should provide a content-type header. Gun will set the content-length header automatically.</p>
+<p>The body sent in this request should be a patch document with instructions on how to update the resource.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>Body</dt>
+<dd><p>Request body.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Patch a resource</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:patch</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/users/1"</font>,
+ [{<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"application/json-patch+json"</font><font color="#990000">&gt;&gt;</font>}],
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Patch a resource in multiple calls</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:patch</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/users/1"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"application/json-patch+json"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font>
+<b><font color="#000000">gun:data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">fin</font>,
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Patch a resource with request options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:patch</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/users/1"</font>,
+ [{<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"application/json-patch+json"</font><font color="#990000">&gt;&gt;</font>}],
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"[{\"op\":\"add\",\"path\":\"/baz\",\"value\":\"qux\"}]"</font><font color="#990000">&gt;&gt;</font>,
+ #{<font color="#0000FF">reply_to</font> <font color="#990000">=&gt;</font> <font color="#009900">ReplyToPid</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a>, <a href="../gun_push">gun_push(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_data">gun_data(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.post/index.html b/docs/en/gun/1.2/manual/gun.post/index.html
new file mode 100644
index 00000000..080bee32
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.post/index.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:post(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:post(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:post - Process the enclosed representation according to a resource&apos;s own semantics</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">post</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<b><font color="#000000">post</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">post</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, #{})
+
+<b><font color="#000000">post</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">Body</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Process the enclosed representation according to a resource&apos;s own semantics.</p>
+<p>The behavior of this function varies depending on whether a body is provided.</p>
+<p>The function <code>post/3</code> expects either a content-length or content-type header to indicate that a body will be sent afterwards. The body can then be sent using <a href="../gun.data">gun:data(3)</a>.</p>
+<p>The function <code>post/4,5</code> sends the entire request, including the request body, immediately. It is therefore not possible to use <a href="../gun.data">gun:data(3)</a> after that. You should provide a content-type header. Gun will set the content-length header automatically.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>Body</dt>
+<dd><p>Request body.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Post to a resource</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:post</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/search"</font>,
+ [{<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"application/x-www-form-urlencoded"</font><font color="#990000">&gt;&gt;</font>}],
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"q=nine%20nines"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Post to a resource in multiple calls</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:post</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/search"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"application/x-www-form-urlencoded"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font>
+<b><font color="#000000">gun:data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">fin</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"q=nine%20nines"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Post to a resource with request options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:post</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/search"</font>,
+ [{<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"application/x-www-form-urlencoded"</font><font color="#990000">&gt;&gt;</font>}],
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"q=nine%20nines"</font><font color="#990000">&gt;&gt;</font>,
+ #{<font color="#0000FF">reply_to</font> <font color="#990000">=&gt;</font> <font color="#009900">ReplyToPid</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a>, <a href="../gun_push">gun_push(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_data">gun_data(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.put/index.html b/docs/en/gun/1.2/manual/gun.put/index.html
new file mode 100644
index 00000000..bbdd0c75
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.put/index.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:put(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:put(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:put - Create or replace a resource</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000080">put</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<b><font color="#000080">put</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000080">put</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, #{})
+
+<b><font color="#000080">put</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">Body</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Create or replace a resource.</p>
+<p>The behavior of this function varies depending on whether a body is provided.</p>
+<p>The function <code>put/3</code> expects either a content-length or content-type header to indicate that a body will be sent afterwards. The body can then be sent using <a href="../gun.data">gun:data(3)</a>.</p>
+<p>The function <code>put/4,5</code> sends the entire request, including the request body, immediately. It is therefore not possible to use <a href="../gun.data">gun:data(3)</a> after that. You should provide a content-type header. Gun will set the content-length header automatically.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>Body</dt>
+<dd><p>Request body.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Put a resource</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:put</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/lang/fr_FR/hello"</font>,
+ [{<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>}],
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Bonjour !"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Put a resource in multiple calls</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:put</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/lang/fr_FR/hello"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font>
+<b><font color="#000000">gun:data</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#FF6600">fin</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Bonjour !"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Put a resource with request options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:put</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/lang/fr_FR/hello"</font>,
+ [{<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>}],
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Bonjour !"</font><font color="#990000">&gt;&gt;</font>,
+ #{<font color="#0000FF">reply_to</font> <font color="#990000">=&gt;</font> <font color="#009900">ReplyToPid</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a>, <a href="../gun_push">gun_push(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_data">gun_data(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.request/index.html b/docs/en/gun/1.2/manual/gun.request/index.html
new file mode 100644
index 00000000..185043ee
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.request/index.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:request(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:request(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:request - Perform the given request</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">request</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Method</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<b><font color="#000000">request</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Method</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">request</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Method</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, #{})
+
+<b><font color="#000000">request</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Method</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">Body</font>, <font color="#009900">ReqOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Method</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">Body</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">ReqOpts</font> <font color="#990000">::</font> <b><font color="#000000">gun:req_opts</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Perform the given request.</p>
+<p>This is a general purpose function that should only be used when other method-specific functions do not apply.</p>
+<p>The behavior of this function varies depending on whether a body is provided.</p>
+<p>The function <code>request/4</code> expects either a content-length or content-type header to indicate that a body will be sent afterwards. Gun will assume the request has no body otherwise. The body can then be sent using <a href="../gun.data">gun:data(3)</a>.</p>
+<p>The function <code>request/5,6</code> sends the entire request, including the request body, immediately. It is therefore not possible to use <a href="../gun.data">gun:data(3)</a> after that. You should provide a content-type header. Gun will set the content-length header automatically.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Method</dt>
+<dd><p>Method to be used for the request.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>Body</dt>
+<dd><p>Request body.</p>
+</dd>
+<dt>ReqOpts</dt>
+<dd><p>Request options.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Perform a request</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:request</font></b>(<font color="#009900">ConnPid</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"PUT"</font><font color="#990000">&gt;&gt;</font>,
+ <font color="#FF0000">"/lang/fr_FR/hello"</font>,
+ [{<font color="#990000">&lt;&lt;</font><font color="#FF0000">"content-type"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"text/plain"</font><font color="#990000">&gt;&gt;</font>}],
+ <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Bonjour !"</font><font color="#990000">&gt;&gt;</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.await">gun:await(3)</a>, <a href="../gun.await_body">gun:await_body(3)</a>, <a href="../gun_push">gun_push(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_data">gun_data(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.ws_send/index.html b/docs/en/gun/1.2/manual/gun.ws_send/index.html
new file mode 100644
index 00000000..6d31659b
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.ws_send/index.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:ws_send(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:ws_send(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:ws_send - Send Websocket frames</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">ws_send</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Frames</font>) <font color="#990000">-&gt;</font> <font color="#FF6600">ok</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Frames</font> <font color="#990000">::</font> <font color="#009900">Frame</font> | [<font color="#009900">Frame</font>]
+<font color="#009900">Frame</font> <font color="#990000">::</font> <font color="#FF6600">close</font> | <font color="#FF6600">ping</font> | <font color="#FF6600">pong</font>
+ | {<font color="#FF6600">text</font> | <b><font color="#000080">binary</font></b> | <font color="#FF6600">close</font> | <font color="#FF6600">ping</font> | <font color="#FF6600">pong</font>, <b><font color="#000000">iodata</font></b>()}
+ | {<font color="#FF6600">close</font>, <b><font color="#000000">non_neg_integer</font></b>(), <b><font color="#000000">iodata</font></b>()}</tt></pre>
+</div></div>
+<p>Send Websocket frames.</p>
+<p>The connection must first be upgraded to Websocket using the function <a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Frames</dt>
+<dd><p>A Websocket frame.</p>
+</dd>
+</dl>
+<!-- @todo One or more Websocket frame(s).-->
+<h2 id="_return_value">Return value</h2>
+<p>The atom <code>ok</code> is returned.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Send a single frame</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">gun:ws_send</font></b>(<font color="#009900">ConnPid</font>, {<font color="#FF6600">text</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"Hello world!"</font><font color="#990000">&gt;&gt;</font>})<font color="#990000">.</font></tt></pre>
+</div></div>
+<!-- .Send many frames including a close frame-->
+<!-- [source,erlang]-->
+<!-- ------>
+<!-- gun:ws_send(ConnPid, [-->
+<!-- {text, &lt;&lt;&quot;See you later, world!&quot;&gt;&gt;},-->
+<!-- close-->
+<!-- ]).-->
+<!-- ------>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>, <a href="../gun_upgrade">gun_upgrade(3)</a>, <a href="../gun_ws">gun_ws(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun.ws_upgrade/index.html b/docs/en/gun/1.2/manual/gun.ws_upgrade/index.html
new file mode 100644
index 00000000..f2a5589c
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun.ws_upgrade/index.html
@@ -0,0 +1,211 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun:ws_upgrade(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun:ws_upgrade(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun:ws_upgrade - Upgrade to Websocket</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">ws_upgrade</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>)
+ <font color="#990000">-&gt;</font> <b><font color="#000000">ws_upgrade</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, [])
+
+<b><font color="#000000">ws_upgrade</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<b><font color="#000000">ws_upgrade</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">Path</font>, <font color="#009900">Headers</font>, <font color="#009900">WsOpts</font>)
+ <font color="#990000">-&gt;</font> <font color="#009900">StreamRef</font>
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Path</font> <font color="#990000">::</font> <b><font color="#000000">iodata</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000000">iodata</font></b>()}]
+<font color="#009900">WsOpts</font> <font color="#990000">::</font> <font color="#FF6600">gun</font><font color="#990000">:</font><font color="#FF6600">ws_opts</font>
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()</tt></pre>
+</div></div>
+<p>Upgrade to Websocket.</p>
+<p>The behavior of this function depends on the protocol selected.</p>
+<p>HTTP/1.1 cannot handle Websocket and HTTP requests concurrently. The upgrade, if successful, will result in the complete takeover of the connection. Any subsequent HTTP requests will be rejected.</p>
+<p>Gun does not currently support Websocket over HTTP/2.</p>
+<p>By default Gun will take the Websocket options from the connection&apos;s <code>ws_opts</code>.</p>
+<h2 id="_arguments">Arguments</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Path</dt>
+<dd><p>Path to the resource.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Additional request headers.</p>
+</dd>
+<dt>WsOpts</dt>
+<dd><p>Configuration for the Websocket protocol.</p>
+</dd>
+</dl>
+<h2 id="_return_value">Return value</h2>
+<p>A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.</p>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Function introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Upgrade to Websocket</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:ws_upgrade</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/ws"</font>, [
+ {<font color="#990000">&lt;&lt;</font><font color="#FF0000">"sec-websocket-protocol"</font><font color="#990000">&gt;&gt;</font>, <font color="#990000">&lt;&lt;</font><font color="#FF0000">"chat"</font><font color="#990000">&gt;&gt;</font>}
+])<font color="#990000">.</font>
+<b><font color="#0000FF">receive</font></b>
+ {<font color="#FF6600">gun_upgrade</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, [<font color="#990000">&lt;&lt;</font><font color="#FF0000">"websocket"</font><font color="#990000">&gt;&gt;</font>], <font color="#990000">_</font>} <font color="#990000">-&gt;</font>
+ <font color="#FF6600">ok</font>
+<b><font color="#0000FF">after</font></b> <font color="#993399">5000</font> <font color="#990000">-&gt;</font>
+ <b><font color="#000000">error</font></b>(<font color="#FF6600">timeout</font>)
+<b><font color="#0000FF">end</font></b><font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Upgrade to Websocket with different options</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><font color="#009900">StreamRef</font> <font color="#990000">=</font> <b><font color="#000000">gun:ws_upgrade</font></b>(<font color="#009900">ConnPid</font>, <font color="#FF0000">"/ws"</font>, [], #{
+ <font color="#0000FF">compress</font> <font color="#990000">=&gt;</font> <font color="#000080">false</font>
+})<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.ws_send">gun:ws_send(3)</a>, <a href="../gun_upgrade">gun_upgrade(3)</a>, <a href="../gun_ws">gun_ws(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun/index.html b/docs/en/gun/1.2/manual/gun/index.html
new file mode 100644
index 00000000..ea394fc1
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun/index.html
@@ -0,0 +1,397 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun - Asynchronous HTTP client</p>
+<h2 id="_description">Description</h2>
+<p>The <code>gun</code> module provides an asynchronous interface for connecting and communicating with Web servers over HTTP, HTTP/2 or Websocket.</p>
+<h2 id="_exports">Exports</h2>
+<p>Connection:</p>
+<ul><li><a href="../gun.open">gun:open(3)</a> - Open a connection to the given host and port
+</li>
+<li><a href="../gun.open_unix">gun:open_unix(3)</a> - Open a connection to the given Unix domain socket
+</li>
+</ul>
+<!-- @todo * link:../gun.shutdown[gun:shutdown(3)] - Gracefully close the connection-->
+<ul><li><a href="../gun.close">gun:close(3)</a> - Brutally close the connection
+</li>
+<li><a href="../gun.info">gun:info(3)</a> - Obtain information about the connection
+</li>
+</ul>
+<p>Requests:</p>
+<ul><li><a href="../gun.get">gun:get(3)</a> - Get a resource representation
+</li>
+<li><a href="../gun.head">gun:head(3)</a> - Get headers of a resource representation
+</li>
+<li><a href="../gun.options">gun:options(3)</a> - Query the capabilities of the server or a resource
+</li>
+<li><a href="../gun.patch">gun:patch(3)</a> - Apply a set of changes to a resource
+</li>
+<li><a href="../gun.post">gun:post(3)</a> - Process the enclosed representation according to a resource&apos;s own semantics
+</li>
+<li><a href="../gun.put">gun:put(3)</a> - Create or replace a resource
+</li>
+<li><a href="../gun.delete">gun:delete(3)</a> - Delete a resource
+</li>
+<li><a href="../gun.request">gun:request(3)</a> - Perform the given request
+</li>
+<li><a href="../gun.data">gun:data(3)</a> - Stream the body of a request
+</li>
+</ul>
+<p>Proxies:</p>
+<ul><li><a href="../gun.connect">gun:connect(3)</a> - Establish a tunnel to the origin server
+</li>
+</ul>
+<p>Messages:</p>
+<ul><li><a href="../gun.await">gun:await(3)</a> - Wait for a response
+</li>
+<li><a href="../gun.await_body">gun:await_body(3)</a> - Wait for the complete response body
+</li>
+<li><a href="../gun.await_up">gun:await_up(3)</a> - Wait for the connection to be up
+</li>
+<li><a href="../gun.flush">gun:flush(3)</a> - Flush all messages related to a connection or a stream
+</li>
+</ul>
+<p>Streams:</p>
+<ul><li><a href="../gun.cancel">gun:cancel(3)</a> - Cancel the given stream
+</li>
+</ul>
+<p>Websocket:</p>
+<ul><li><a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a> - Upgrade to Websocket
+</li>
+<li><a href="../gun.ws_send">gun:ws_send(3)</a> - Send Websocket frames
+</li>
+</ul>
+<h2 id="_messages">Messages</h2>
+<p>Gun will inform the calling process of events asynchronously by sending any of the following messages:</p>
+<p>Connection:</p>
+<ul><li><a href="../gun_up">gun_up(3)</a> - The connection is up
+</li>
+<li><a href="../gun_down">gun_down(3)</a> - The connection is down
+</li>
+<li><a href="../gun_upgrade">gun_upgrade(3)</a> - Successful protocol upgrade
+</li>
+<li><a href="../gun_error">gun_error(3)</a> - Stream or connection-wide error
+</li>
+</ul>
+<p>Responses:</p>
+<ul><li><a href="../gun_push">gun_push(3)</a> - Server-initiated push
+</li>
+<li><a href="../gun_inform">gun_inform(3)</a> - Informational response
+</li>
+<li><a href="../gun_response">gun_response(3)</a> - Response
+</li>
+<li><a href="../gun_data">gun_data(3)</a> - Response body
+</li>
+<li><a href="../gun_trailers">gun_trailers(3)</a> - Response trailers
+</li>
+</ul>
+<p>Websocket:</p>
+<ul><li><a href="../gun_ws">gun_ws(3)</a> - Websocket frame
+</li>
+</ul>
+<p>The response messages will be sent to the process that opened the connection by default. The <code>reply_to</code> request option can be used to redirect request-specific messages to a different process.</p>
+<h2 id="_types">Types</h2>
+<h3 id="_connect_destination">connect_destination()</h3>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">connect_destination</font></b>() <font color="#990000">::</font> #{
+ <font color="#FF6600">host</font> <font color="#990000">:=</font> <b><font color="#000000">inet:hostname</font></b>() | <b><font color="#000000">inet:ip_address</font></b>(),
+ <font color="#FF6600">port</font> <font color="#990000">:=</font> <b><font color="#000000">inet:port_number</font></b>(),
+
+ <font color="#0000FF">username</font> <font color="#990000">=&gt;</font> <b><font color="#000000">iodata</font></b>(),
+ <font color="#0000FF">password</font> <font color="#990000">=&gt;</font> <b><font color="#000000">iodata</font></b>(),
+ <font color="#0000FF">protocol</font> <font color="#990000">=&gt;</font> <font color="#FF6600">http</font> | <font color="#FF6600">http2</font>,
+ <font color="#0000FF">transport</font> <font color="#990000">=&gt;</font> <font color="#FF6600">tcp</font> | <font color="#FF6600">tls</font>,
+
+ <font color="#0000FF">tls_opts</font> <font color="#990000">=&gt;</font> [<b><font color="#000000">ssl:connect_option</font></b>()],
+ <font color="#0000FF">tls_handshake_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>()
+}</tt></pre>
+</div></div>
+<p>Destination of a CONNECT request.</p>
+<p>The default value, if any, is given next to the option name:</p>
+<dl><dt>host, port</dt>
+<dd><p>Destination hostname and port number. Mandatory.</p>
+<p>Upon successful completion of the CONNECT request, Gun will begin using these as the host and port of the origin server for subsequent requests.</p>
+</dd>
+<dt>username, password</dt>
+<dd><p>Proxy authorization credentials. They are only sent when both options are provided.</p>
+</dd>
+<dt>protocol (http)</dt>
+<dd><p>Protocol that will be used for tunneled requests.</p>
+</dd>
+<dt>transport (tcp)</dt>
+<dd><p>Transport that will be used for tunneled requests. Note that due to Erlang/OTP limitations it is not possible to tunnel a TLS connection inside a TLS tunnel.</p>
+</dd>
+<dt>tls_opts ([])</dt>
+<dd><p>Options to use for tunneled TLS connections.</p>
+</dd>
+<dt>tls_handshake_timeout (infinity)</dt>
+<dd><p>Handshake timeout for tunneled TLS connections.</p>
+</dd>
+</dl>
+<h3 id="_http_opts">http_opts()</h3>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">http_opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">keepalive</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">transform_header_name</font> <font color="#990000">=&gt;</font> <b><font color="#0000FF">fun</font></b>((<b><font color="#000080">binary</font></b>()) <font color="#990000">-&gt;</font> <b><font color="#000080">binary</font></b>()),
+ <font color="#0000FF">version</font> <font color="#990000">=&gt;</font> <font color="#FF6600">'HTTP/1.1'</font> | <font color="#FF6600">'HTTP/1.0'</font>
+}</tt></pre>
+</div></div>
+<p>Configuration for the HTTP protocol.</p>
+<p>The default value is given next to the option name:</p>
+<!-- @todo Document content_handlers and gun_sse_h.-->
+<dl><dt>keepalive (5000)</dt>
+<dd><p>Time between pings in milliseconds. Since the HTTP protocol has no standardized way to ping the server, Gun will simply send an empty line when the connection is idle. Gun only makes a best effort here as servers usually have configurable limits to drop idle connections. Use <code>infinity</code> to disable.</p>
+</dd>
+<dt>transform_header_name - see below</dt>
+<dd><p>A function that will be applied to all header names before they are sent to the server. Gun assumes that all header names are in lower case. This function is useful if you, for example, need to re-case header names in the event that the server incorrectly considers the case of header names to be significant.</p>
+</dd>
+<dt>version (<code>&apos;HTTP/1.1&apos;</code>)</dt>
+<dd><p>HTTP version to use.</p>
+</dd>
+</dl>
+<h3 id="_http2_opts">http2_opts()</h3>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">http2_opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">keepalive</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>()
+}</tt></pre>
+</div></div>
+<p>Configuration for the HTTP/2 protocol.</p>
+<p>The default value is given next to the option name:</p>
+<!-- @todo Document content_handlers and gun_sse_h.-->
+<dl><dt>keepalive (5000)</dt>
+<dd><p>Time between pings in milliseconds.</p>
+</dd>
+</dl>
+<!-- @todo Allow and document max_frame_size_sent.-->
+<h3 id="_opts">opts()</h3>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">connect_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">timeout</font></b>(),
+ <font color="#0000FF">http_opts</font> <font color="#990000">=&gt;</font> <b><font color="#000000">http_opts</font></b>(),
+ <font color="#0000FF">http2_opts</font> <font color="#990000">=&gt;</font> <b><font color="#000000">http2_opts</font></b>(),
+ <font color="#0000FF">protocols</font> <font color="#990000">=&gt;</font> [<font color="#FF6600">http</font> | <font color="#FF6600">http2</font>],
+ <font color="#0000FF">retry</font> <font color="#990000">=&gt;</font> <b><font color="#000000">non_neg_integer</font></b>(),
+ <font color="#0000FF">retry_timeout</font> <font color="#990000">=&gt;</font> <b><font color="#000000">pos_integer</font></b>(),
+ <font color="#0000FF">trace</font> <font color="#990000">=&gt;</font> <b><font color="#000000">boolean</font></b>(),
+ <font color="#0000FF">transport</font> <font color="#990000">=&gt;</font> <font color="#FF6600">tcp</font> | <font color="#FF6600">tls</font>,
+ <font color="#0000FF">transport_opts</font> <font color="#990000">=&gt;</font> [<b><font color="#000000">gen_tcp:connect_option</font></b>()] | [<b><font color="#000000">ssl:connect_option</font></b>()],
+ <font color="#0000FF">ws_opts</font> <font color="#990000">=&gt;</font> <b><font color="#000000">ws_opts</font></b>()
+}</tt></pre>
+</div></div>
+<p>Configuration for the connection.</p>
+<p>The default value is given next to the option name:</p>
+<dl><dt>connect_timeout (infinity)</dt>
+<dd><p>Connection timeout.</p>
+</dd>
+<dt>http_opts (#{})</dt>
+<dd><p>Options specific to the HTTP protocol.</p>
+</dd>
+<dt>http2_opts (#{})</dt>
+<dd><p>Options specific to the HTTP/2 protocol.</p>
+</dd>
+<dt>protocols - see below</dt>
+<dd><p>Ordered list of preferred protocols. When the transport is <code>tcp</code>, this list must contain exactly one protocol. When the transport is <code>tls</code>, this list must contain at least one protocol and will be used to negotiate a protocol via ALPN. When the server does not support ALPN then <code>http</code> will always be used. Defaults to <code>[http]</code> when the transport is <code>tcp</code>, and <code>[http2, http]</code> when the transport is <code>tls</code>.</p>
+</dd>
+<dt>retry (5)</dt>
+<dd><p>Number of times Gun will try to reconnect on failure before giving up.</p>
+</dd>
+<dt>retry_timeout (5000)</dt>
+<dd><p>Time between retries in milliseconds.</p>
+</dd>
+<dt>trace (false)</dt>
+<dd><p>Whether to enable <code>dbg</code> tracing of the connection process. Should only be used during debugging.</p>
+</dd>
+<dt>transport - see below</dt>
+<dd><p>Whether to use TLS or plain TCP. The default varies depending on the port used. Port 443 defaults to <code>tls</code>. All other ports default to <code>tcp</code>.</p>
+</dd>
+<dt>transport_opts ([])</dt>
+<dd><p>Transport options. They are TCP options or TLS options depending on the selected transport.</p>
+</dd>
+<dt>ws_opts (#{})</dt>
+<dd><p>Options specific to the Websocket protocol.</p>
+</dd>
+</dl>
+<h3 id="_req_opts">req_opts()</h3>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">req_opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">reply_to</font> <font color="#990000">=&gt;</font> <b><font color="#000080">pid</font></b>()
+}</tt></pre>
+</div></div>
+<p>Configuration for a particular request.</p>
+<p>The default value is given next to the option name:</p>
+<dl><dt>reply_to (<code>self()</code>)</dt>
+<dd><p>The pid of the process that will receive the response messages.</p>
+</dd>
+</dl>
+<h3 id="_ws_opts">ws_opts()</h3>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">ws_opts</font></b>() <font color="#990000">::</font> #{
+ <font color="#0000FF">compress</font> <font color="#990000">=&gt;</font> <b><font color="#000000">boolean</font></b>()
+}</tt></pre>
+</div></div>
+<p>Configuration for the Websocket protocol.</p>
+<p>The default value is given next to the option name:</p>
+<dl><dt>compress =&gt; boolean()</dt>
+<dd><p>Whether to enable permessage-deflate compression. This does not guarantee that compression will be used as it is the server that ultimately decides. Defaults to false.</p>
+</dd>
+</dl>
+<!-- @todo Document default_protocol, protocols and user_opts.-->
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.2</strong>: Introduce the type <code>connect_destination()</code>.
+</li>
+</ul>
+<h2 id="_see_also">See also</h2>
+<p><a href="..">gun(7)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_app/index.html b/docs/en/gun/1.2/manual/gun_app/index.html
new file mode 100644
index 00000000..6ec8ad7b
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_app/index.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun(7)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun(7)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun - HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP</p>
+<h2 id="_description">Description</h2>
+<p>Gun is an HTTP client for Erlang/OTP with support for the HTTP/1.1, HTTP/2 and Websocket protocols.</p>
+<p>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.</p>
+<h2 id="_modules">Modules</h2>
+<ul><li><a href="../gun">gun(3)</a> - Asynchronous HTTP client
+</li>
+</ul>
+<h2 id="_dependencies">Dependencies</h2>
+<ul><li><a href="../cowlib">cowlib(7)</a> - Support library for manipulating Web protocols
+</li>
+<li>ssl - Secure communication over sockets
+</li>
+</ul>
+<p>All these applications must be started before the <code>gun</code> application. To start Gun and all dependencies at once:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">application:ensure_all_started</font></b>(<font color="#FF6600">gun</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_environment">Environment</h2>
+<p>The <code>gun</code> application does not define any application environment configuration parameters.</p>
+<h2 id="_see_also">See also</h2>
+<p><a href="../cowlib">cowlib(7)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_data/index.html b/docs/en/gun/1.2/manual/gun_data/index.html
new file mode 100644
index 00000000..43ac5bd3
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_data/index.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_data(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_data(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_data - Response body</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_data</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">IsFin</font>, <font color="#009900">Data</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">IsFin</font> <font color="#990000">::</font> <font color="#FF6600">fin</font> | <font color="#FF6600">nofin</font>
+<font color="#009900">Data</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()</tt></pre>
+</div></div>
+<p>Response body.</p>
+<p>This message informs the relevant process that the server sent a all or part of the body for the response to the original request.</p>
+<p>A data message is always preceded by a response message.</p>
+<p>The response body may be terminated either by a data message with the flag <code>fin</code> set or by a <a href="../gun_trailers">gun_trailers(3)</a> message.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+<dt>IsFin</dt>
+<dd><p>Whether this message terminates the response.</p>
+</dd>
+<dt>Data</dt>
+<dd><p>All or part of the response body.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_data message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_data</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>,
+ <font color="#009900">_IsFin</font>, <font color="#009900">_Data</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:get(3)</a>, <a href="../gun.head">gun:head(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.delete">gun:delete(3)</a>, <a href="../gun.options">gun:options(3)</a>, <a href="../gun.request">gun:request(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_trailers">gun_trailers(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_down/index.html b/docs/en/gun/1.2/manual/gun_down/index.html
new file mode 100644
index 00000000..a180670b
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_down/index.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_down(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_down(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_down - The connection is down</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_down</font>, <font color="#009900">ConnPid</font>, <font color="#009900">Protocol</font>, <font color="#009900">Reason</font>, <font color="#009900">KilledStreams</font>, <font color="#009900">UnprocessedStreams</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Protocol</font> <font color="#990000">::</font> <font color="#FF6600">http</font> | <font color="#FF6600">http2</font> | <font color="#FF6600">ws</font>
+<font color="#009900">Reason</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()
+<font color="#009900">KilledStreams</font> <font color="#990000">::</font> [<b><font color="#000080">reference</font></b>()]
+<font color="#009900">UnprocessedStreams</font> <font color="#990000">::</font> [<b><font color="#000080">reference</font></b>()]</tt></pre>
+</div></div>
+<p>The connection is down.</p>
+<p>This message informs the owner process that the connection was lost. Depending on the <code>retry</code> and <code>retry_timeout</code> options Gun may automatically attempt to reconnect.</p>
+<p>When the connection goes back up, Gun will not attempt to retry requests. It will also not upgrade to Websocket automatically if that was the protocol in use when the connection was lost.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Protocol</dt>
+<dd><p>The protocol that was selected for this connection or upgraded to during the course of the connection.</p>
+</dd>
+<dt>Reason</dt>
+<dd><p>The reason for the loss of the connection.</p>
+<p>It is present for debugging purposes only. You should not rely on this value to perform operations programmatically.</p>
+</dd>
+<dt>KilledStreams</dt>
+<dd><p>List of streams that have been brutally terminated.</p>
+<p>They are active streams that did not complete before the closing of the connection. Whether they can be retried safely depends on the protocol used and the idempotence property of the requests.</p>
+</dd>
+<dt>UnprocessedStreams</dt>
+<dd><p>List of streams that have not been processed by the server.</p>
+<p>They are streams that the server did not start processing yet. They may be retried safely depending on whether related streams were killed.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_down message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_down</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_Protocol</font>,
+ <font color="#009900">_Reason</font>, <font color="#009900">_Killed</font>, <font color="#009900">_Unprocessed</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.open">gun:open(3)</a>, <a href="../gun.open_unix">gun:open_unix(3)</a>, <a href="../gun_up">gun_up(3)</a>, <a href="../gun_error">gun_error(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_error/index.html b/docs/en/gun/1.2/manual/gun_error/index.html
new file mode 100644
index 00000000..3eb54a5f
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_error/index.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_error(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_error(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_error - Stream or connection-wide error</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_error</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Reason</font>}
+{<font color="#FF6600">gun_error</font>, <font color="#009900">ConnPid</font>, <font color="#009900">Reason</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Reason</font> <font color="#990000">::</font> <b><font color="#000000">any</font></b>()</tt></pre>
+</div></div>
+<p>Stream or connection-wide error.</p>
+<p>These messages inform the relevant process that an error occurred. A reference is given when the error pertains to a specific stream. Connection-wide errors do not imply that the connection is no longer usable, they are used for all errors that are not specific to a stream.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream that resulted in an error.</p>
+</dd>
+<dt>Reason</dt>
+<dd><p>The reason for the error.</p>
+<p>It is present for debugging purposes only. You should not rely on this value to perform operations programmatically.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_error message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_error</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_Reason</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>};
+<b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_error</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>, <font color="#009900">_Reason</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun_up">gun_up(3)</a>, <a href="../gun_down">gun_down(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_inform/index.html b/docs/en/gun/1.2/manual/gun_inform/index.html
new file mode 100644
index 00000000..7524de76
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_inform/index.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_inform(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_inform(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_inform - Informational response</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_inform</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Status</font> <font color="#990000">::</font> <font color="#993399">100</font><font color="#990000">..</font><font color="#993399">199</font>
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000080">binary</font></b>()}]</tt></pre>
+</div></div>
+<p>Informational response.</p>
+<p>This message informs the relevant process that the server sent an informational response to the original request.</p>
+<p>Informational responses are only intermediate responses and provide no guarantees as to what the final response will be. An informational response always precedes the response to the original request.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+<dt>Status</dt>
+<dd><p>Status code for the informational response.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Headers sent with the informational response.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_inform message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_inform</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>,
+ <font color="#009900">_Status</font>, <font color="#009900">_Headers</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:get(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun_response">gun_response(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_push/index.html b/docs/en/gun/1.2/manual/gun_push/index.html
new file mode 100644
index 00000000..12d552b9
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_push/index.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_push(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_push(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_push - Server-initiated push</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_push</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">NewStreamRef</font>, <font color="#009900">Method</font>, <font color="#009900">URI</font>, <font color="#009900">Headers</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">NewStreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Method</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">URI</font> <font color="#990000">::</font> <b><font color="#000080">binary</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000080">binary</font></b>()}]</tt></pre>
+</div></div>
+<p>Server-initiated push.</p>
+<p>This message informs the relevant process that the server is pushing a resource related to the effective target URI of the original request.</p>
+<p>A server-initiated push message always precedes the response to the original request.</p>
+<p>This message will not be sent when using the HTTP/1.1 protocol because it lacks the concept of server-initiated push.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+<dt>NewStreamRef</dt>
+<dd><p>Identifier of the stream being pushed.</p>
+</dd>
+<dt>Method</dt>
+<dd><p>Method of the equivalent HTTP request.</p>
+</dd>
+<dt>URI</dt>
+<dd><p>URI of the resource being pushed.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Headers of the equivalent HTTP request.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_push message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_push</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>,
+ <font color="#009900">_NewStreamRef</font>, <font color="#009900">_Method</font>, <font color="#009900">_URI</font>, <font color="#009900">_Headers</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<div class="listingblock"><div class="title">Cancel an unwanted push</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_push</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>,
+ <font color="#009900">NewStreamRef</font>, <font color="#009900">_Method</font>, <font color="#009900">_URI</font>, <font color="#009900">_Headers</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <b><font color="#000000">gun:cancel</font></b>(<font color="#009900">ConnPid</font>, <font color="#009900">NewStreamRef</font>),
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:get(3)</a>, <a href="../gun.cancel">gun:cancel(3)</a>, <a href="../gun_response">gun_response(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_response/index.html b/docs/en/gun/1.2/manual/gun_response/index.html
new file mode 100644
index 00000000..6a7140b9
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_response/index.html
@@ -0,0 +1,189 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_response(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_response(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_response - Response</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_response</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">IsFin</font>, <font color="#009900">Status</font>, <font color="#009900">Headers</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">IsFin</font> <font color="#990000">::</font> <font color="#FF6600">fin</font> | <font color="#FF6600">nofin</font>
+<font color="#009900">Status</font> <font color="#990000">::</font> <b><font color="#000000">non_neg_integer</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000080">binary</font></b>()}]</tt></pre>
+</div></div>
+<p>Response.</p>
+<p>This message informs the relevant process that the server sent a response to the original request.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+<dt>IsFin</dt>
+<dd><p>Whether this message terminates the response.</p>
+</dd>
+<dt>Status</dt>
+<dd><p>Status code for the response.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Headers sent with the response.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_response message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_response</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>,
+ <font color="#009900">_IsFin</font>, <font color="#009900">_Status</font>, <font color="#009900">_Headers</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:get(3)</a>, <a href="../gun.head">gun:head(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.delete">gun:delete(3)</a>, <a href="../gun.options">gun:options(3)</a>, <a href="../gun.request">gun:request(3)</a>, <a href="../gun_inform">gun_inform(3)</a>, <a href="../gun_push">gun_push(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_trailers/index.html b/docs/en/gun/1.2/manual/gun_trailers/index.html
new file mode 100644
index 00000000..117ff514
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_trailers/index.html
@@ -0,0 +1,181 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_trailers(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_trailers(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_trailers - Response trailers</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_trailers</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Headers</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000080">binary</font></b>()}]</tt></pre>
+</div></div>
+<p>Response trailers.</p>
+<p>This message informs the relevant process that the server sent response trailers for the response to the original request.</p>
+<p>A trailers message terminates the response.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream for the original request.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Trailing headers sent after the response body.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_trailers message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_trailers</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>, <font color="#009900">_Headers</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.get">gun:get(3)</a>, <a href="../gun.head">gun:head(3)</a>, <a href="../gun.patch">gun:patch(3)</a>, <a href="../gun.post">gun:post(3)</a>, <a href="../gun.put">gun:put(3)</a>, <a href="../gun.delete">gun:delete(3)</a>, <a href="../gun.options">gun:options(3)</a>, <a href="../gun.request">gun:request(3)</a>, <a href="../gun_response">gun_response(3)</a>, <a href="../gun_data">gun_data(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_up/index.html b/docs/en/gun/1.2/manual/gun_up/index.html
new file mode 100644
index 00000000..81389314
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_up/index.html
@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_up(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_up(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_up - The connection is up</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_up</font>, <font color="#009900">ConnPid</font>, <font color="#009900">Protocol</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">Protocol</font> <font color="#990000">::</font> <font color="#FF6600">http</font> | <font color="#FF6600">http2</font></tt></pre>
+</div></div>
+<p>The connection is up.</p>
+<p>This message informs the owner process that the connection or reconnection completed.</p>
+<p>Gun will now start processing the messages it received while waiting for the connection to be up. If this is a reconnection, then this may not be desirable for all requests. Those requests should be cancelled when the connection goes down, and any subsequent messages ignored.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>Protocol</dt>
+<dd><p>The protocol selected for this connection. It can be used to determine the capabilities of the server.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_up message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_up</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_Protocol</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.open">gun:open(3)</a>, <a href="../gun.open_unix">gun:open_unix(3)</a>, <a href="../gun.await_up">gun:await_up(3)</a>, <a href="../gun_down">gun_down(3)</a>, <a href="../gun_error">gun_error(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_upgrade/index.html b/docs/en/gun/1.2/manual/gun_upgrade/index.html
new file mode 100644
index 00000000..745983b2
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_upgrade/index.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_upgrade(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_upgrade(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_upgrade - Successful protocol upgrade</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_upgrade</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Protocols</font>, <font color="#009900">Headers</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Protocols</font> <font color="#990000">::</font> [<font color="#990000">&lt;&lt;</font><font color="#FF0000">"websocket"</font><font color="#990000">&gt;&gt;</font>]
+<font color="#009900">Headers</font> <font color="#990000">::</font> [{<b><font color="#000080">binary</font></b>(), <b><font color="#000080">binary</font></b>()}]</tt></pre>
+</div></div>
+<p>Successful protocol upgrade.</p>
+<p>This message informs the relevant process that the server accepted to upgrade to one or more protocols given in the original request.</p>
+<p>The exact semantics of this message depend on the original protocol. HTTP/1.1 upgrades apply to the entire connection. HTTP/2 uses a different mechanism which allows switching specific streams to a different protocol.</p>
+<p>Gun currently only supports upgrading HTTP/1.1 connections to the Websocket protocol.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream that resulted in an upgrade.</p>
+</dd>
+<dt>Protocols</dt>
+<dd><p>List of protocols this stream was upgraded to.</p>
+</dd>
+<dt>Headers</dt>
+<dd><p>Headers sent with the upgrade response.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_upgrade message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_upgrade</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>,
+ <font color="#009900">_Protocols</font>, <font color="#009900">_Headers</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>, <a href="../gun.ws_send">gun:ws_send(3)</a>, <a href="../gun_ws">gun_ws(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/gun_ws/index.html b/docs/en/gun/1.2/manual/gun_ws/index.html
new file mode 100644
index 00000000..dec115a7
--- /dev/null
+++ b/docs/en/gun/1.2/manual/gun_ws/index.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: gun_ws(3)</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>gun_ws(3)</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun_ws - Websocket frame</p>
+<h2 id="_description">Description</h2>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">gun_ws</font>, <font color="#009900">ConnPid</font>, <font color="#009900">StreamRef</font>, <font color="#009900">Frame</font>}
+
+<font color="#009900">ConnPid</font> <font color="#990000">::</font> <b><font color="#000080">pid</font></b>()
+<font color="#009900">StreamRef</font> <font color="#990000">::</font> <b><font color="#000080">reference</font></b>()
+<font color="#009900">Frame</font> <font color="#990000">::</font> <font color="#FF6600">close</font>
+ | {<font color="#FF6600">text</font> | <b><font color="#000080">binary</font></b> | <font color="#FF6600">close</font>, <b><font color="#000080">binary</font></b>()}
+ | {<font color="#FF6600">close</font>, <b><font color="#000000">non_neg_integer</font></b>(), <b><font color="#000080">binary</font></b>()}</tt></pre>
+</div></div>
+<p>Websocket frame.</p>
+<p>This message informs the relevant process that the server sent the enclosed frame.</p>
+<p>This message can only be sent on streams that were upgraded to the Websocket protocol.</p>
+<h2 id="_elements">Elements</h2>
+<dl><dt>ConnPid</dt>
+<dd><p>The pid of the Gun connection process.</p>
+</dd>
+<dt>StreamRef</dt>
+<dd><p>Identifier of the stream that was upgraded to Websocket.</p>
+</dd>
+<dt>Frame</dt>
+<dd><p>The Websocket frame in question.</p>
+</dd>
+</dl>
+<h2 id="_changelog">Changelog</h2>
+<ul><li><strong>1.0</strong>: Message introduced.
+</li>
+</ul>
+<h2 id="_examples">Examples</h2>
+<div class="listingblock"><div class="title">Receive a gun_ws message in a gen_server</div>
+<div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt><b><font color="#000000">handle_info</font></b>({<font color="#FF6600">gun_ws</font>, <font color="#009900">ConnPid</font>, <font color="#009900">_StreamRef</font>, <font color="#009900">_Frame</font>},
+ <font color="#009900">State</font><font color="#990000">=</font><font color="#008080">#state</font>{<font color="#0000FF">conn_pid</font><font color="#990000">=</font><font color="#009900">ConnPid</font>}) <font color="#990000">-&gt;</font>
+ <i><font color="#9A1900">%% Do something.</font></i>
+ {<font color="#FF6600">noreply</font>, <font color="#009900">State</font>}<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_see_also">See also</h2>
+<p><a href="../gun">gun(3)</a>, <a href="../gun.ws_upgrade">gun:ws_upgrade(3)</a>, <a href="../gun.ws_send">gun:ws_send(3)</a>, <a href="../gun_upgrade">gun_upgrade(3)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/gun/1.2/manual/index.html b/docs/en/gun/1.2/manual/index.html
new file mode 100644
index 00000000..311b0850
--- /dev/null
+++ b/docs/en/gun/1.2/manual/index.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <title>Nine Nines: Gun Function Reference</title>
+
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+ <link href="/css/99s.css?r=2" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li class="active"><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents" class="two_col">
+<div class="container">
+<div class="row">
+<div id="docs" class="span9 maincol">
+
+<h1 class="lined-header"><span>Gun Function Reference</span></h1>
+
+<h2 id="_name">Name</h2>
+<p>gun - HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP</p>
+<h2 id="_description">Description</h2>
+<p>Gun is an HTTP client for Erlang/OTP with support for the HTTP/1.1, HTTP/2 and Websocket protocols.</p>
+<p>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.</p>
+<h2 id="_modules">Modules</h2>
+<ul><li><a href="gun">gun(3)</a> - Asynchronous HTTP client
+</li>
+</ul>
+<h2 id="_dependencies">Dependencies</h2>
+<ul><li><a href="cowlib_app">cowlib(7)</a> - Support library for manipulating Web protocols
+</li>
+<li>ssl - Secure communication over sockets
+</li>
+</ul>
+<p>All these applications must be started before the <code>gun</code> application. To start Gun and all dependencies at once:</p>
+<div class="listingblock"><div class="content"><!-- Generator: GNU source-highlight 3.1.8
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre><tt>{<font color="#FF6600">ok</font>, <font color="#990000">_</font>} <font color="#990000">=</font> <b><font color="#000000">application:ensure_all_started</font></b>(<font color="#FF6600">gun</font>)<font color="#990000">.</font></tt></pre>
+</div></div>
+<h2 id="_environment">Environment</h2>
+<p>The <code>gun</code> application does not define any application environment configuration parameters.</p>
+<h2 id="_see_also">See also</h2>
+<p><a href="cowlib_app">cowlib(7)</a></p>
+
+
+
+
+
+
+</div>
+
+<div class="span3 sidecol">
+
+
+<h3>
+ Gun
+ 1.2
+ Function Reference
+
+</h3>
+
+<ul>
+
+ <li><a href="/docs/en/gun/1.2/guide">User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Function Reference</a></li>
+
+
+</ul>
+
+<h4 id="docs-nav">Navigation</h4>
+
+<h4>Version select</h4>
+<ul>
+
+
+
+ <li><a href="/docs/en/gun/1.2/manual">1.2</a></li>
+
+ <li><a href="/docs/en/gun/1.1/manual">1.1</a></li>
+
+ <li><a href="/docs/en/gun/1.0/manual">1.0</a></li>
+
+</ul>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2018</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+
+
diff --git a/docs/en/ranch/1.6/guide/migrating_from_1.6.asciidoc b/docs/en/ranch/1.6/guide/migrating_from_1.6.asciidoc
index 3193f63d..6e94fadb 100644
--- a/docs/en/ranch/1.6/guide/migrating_from_1.6.asciidoc
+++ b/docs/en/ranch/1.6/guide/migrating_from_1.6.asciidoc
@@ -3,6 +3,11 @@
The following patch versions were released since Ranch 1.6:
+=== Ranch 1.6.2
+
+This release fixes an issue where listener information would
+not get cleaned up when an embedded listener was stopped.
+
=== Ranch 1.6.1
This release fixes a minor issue in the README and adds an
diff --git a/docs/en/ranch/1.6/guide/migrating_from_1.6/index.html b/docs/en/ranch/1.6/guide/migrating_from_1.6/index.html
index da3590ec..fc6bd103 100644
--- a/docs/en/ranch/1.6/guide/migrating_from_1.6/index.html
+++ b/docs/en/ranch/1.6/guide/migrating_from_1.6/index.html
@@ -63,6 +63,8 @@
<h1 class="lined-header"><span>Changes since Ranch 1.6</span></h1>
<p>The following patch versions were released since Ranch 1.6:</p>
+<h2 id="_ranch_1_6_2">Ranch 1.6.2</h2>
+<p>This release fixes an issue where listener information would not get cleaned up when an embedded listener was stopped.</p>
<h2 id="_ranch_1_6_1">Ranch 1.6.1</h2>
<p>This release fixes a minor issue in the README and adds an undocumented function to help Cowboy deal with the transition from list to map for the transport options.</p>
diff --git a/docs/index.html b/docs/index.html
index 557750e6..9c9fdc6a 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -131,6 +131,13 @@
<ul>
+ <li><a href="/docs/en/gun/1.2/guide">Gun 1.2 User Guide</a></li>
+
+
+ <li><a href="/docs/en/gun/1.2/manual">Gun 1.2 Function Reference</a></li>
+
+
+
<li><a href="/docs/en/gun/1.1/guide">Gun 1.1 User Guide</a></li>
diff --git a/docs/index.xml b/docs/index.xml
index 1b7161b1..6e65932b 100644
--- a/docs/index.xml
+++ b/docs/index.xml
@@ -54,6 +54,21 @@ Copyright (c) 2013-2018, Loïc Hoguin &amp;lt;[email protected]&amp;gt; Permiss
<item>
<title>Introduction</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/introduction/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/introduction/</guid>
+ <description>Gun is an HTTP client for Erlang/OTP.
+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 19.0 and newer.
+License Gun uses the ISC License.
+Copyright (c) 2013-2018, 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>
+ <title>Introduction</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/guide/introduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -305,6 +320,19 @@ Starting Gun in an Erlang shell 1&amp;gt; application:ensure_all_started(gun).</
</item>
<item>
+ <title>Starting and stopping</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/start/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/start/</guid>
+ <description>This chapter describes how to start and stop the Gun application.
+Setting up Specify Gun as a dependency to your application in your favorite build tool.
+With Erlang.mk this is done by adding gun to the DEPS variable in your Makefile.
+Adding Gun as an Erlang.mk dependency DEPS = gun Starting Gun is an OTP application. It needs to be started before you can use it.
+Starting Gun in an Erlang shell 1&amp;gt; application:ensure_all_started(gun).</description>
+ </item>
+
+ <item>
<title>Supported protocols</title>
<link>https://ninenines.eu/docs/en/gun/1.0/guide/protocols/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -329,6 +357,18 @@ Gun will send a gun_inform message for every intermediate informational response
</item>
<item>
+ <title>Supported protocols</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/protocols/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/protocols/</guid>
+ <description>This chapter describes the protocols supported and the operations available to them.
+HTTP/1.1 HTTP/1.1 is a text request-response protocol. The client sends a request, the server sends back a response.
+Gun provides convenience functions for performing GET, HEAD, OPTIONS, POST, PATCH, PUT, and DELETE requests. All these functions are aliases of gun:request/4,5,6 for the respective methods. Gun also provides a gun:data/4 function for streaming the request body.
+Gun will send a gun_inform message for every intermediate informational responses received.</description>
+ </item>
+
+ <item>
<title>Introduction</title>
<link>https://ninenines.eu/docs/en/cowboy/2.0/guide/introduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -486,6 +526,17 @@ A Gun connection is an Erlang process that manages a socket to a remote endpoint
</item>
<item>
+ <title>Connection</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/connect/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/connect/</guid>
+ <description>This chapter describes how to open, monitor and close a connection using the Gun client.
+Gun connections Gun is designed with the HTTP/2 and Websocket protocols in mind. They are built for long-running connections that allow concurrent exchange of data, either in the form of request/responses for HTTP/2 or in the form of messages for Websocket.
+A Gun connection is an Erlang process that manages a socket to a remote endpoint.</description>
+ </item>
+
+ <item>
<title>Protocols</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/guide/protocols/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -621,6 +672,18 @@ Streams can be canceled at any time.</description>
</item>
<item>
+ <title>HTTP</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/http/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/http/</guid>
+ <description>This chapter describes how to use the Gun client for communicating with an HTTP/1.1 or HTTP/2 server.
+Streams Every time a request is initiated, Gun creates a stream. A stream reference uniquely identifies a set of request and response and must be used to perform additional operations with a stream or to identify its messages.
+Stream references use the Erlang reference data type and are therefore unique.
+Streams can be canceled at any time.</description>
+ </item>
+
+ <item>
<title>Embedded mode</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/guide/embedded/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -766,6 +829,17 @@ You must use the gun:ws_upgrade/2,3,4 function to upgrade to Websocket.</descrip
</item>
<item>
+ <title>Websocket</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/websocket/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/websocket/</guid>
+ <description>This chapter describes how to use the Gun client for communicating with a Websocket server.
+HTTP upgrade Websocket is a protocol built on top of HTTP. To use Websocket, you must first request for the connection to be upgraded. Only HTTP/1.1 connections can be upgraded to Websocket, so you might need to restrict the protocol to HTTP/1.1 if you are planning to use Websocket over TLS.
+You must use the gun:ws_upgrade/2,3,4 function to upgrade to Websocket.</description>
+ </item>
+
+ <item>
<title>Writing parsers</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/guide/parsers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -843,6 +917,16 @@ Features added Update Cowlib to 2.5.1 Bugs fixed A bug in the experimental gun
</item>
<item>
+ <title>Migrating from Gun 1.1 to 1.2</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/</guid>
+ <description>Gun 1.2 adds support for the CONNECT request over HTTP/1.1 connections.
+Features added CONNECT requests can now be issued on HTTP/1.1 connections. The tunneled connection can use any of the protocols Gun supports: HTTP/1.1, HTTP/2 and Websocket over both TCP and TLS transports. Note that Gun currently does not support tunneling a TLS connection over a TLS connection due to limitations in Erlang/OTP. Gun supports sending multiple CONNECT requests, allowing the tunnel to the origin server to go through multiple proxies.</description>
+ </item>
+
+ <item>
<title>Listeners</title>
<link>https://ninenines.eu/docs/en/cowboy/2.0/guide/listeners/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -1080,6 +1164,16 @@ Note that for everything related to efficiency and performance, you should perfo
</item>
<item>
+ <title>Migrating from Gun 1.0 to 1.1</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.0/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.0/</guid>
+ <description>Gun 1.1 updates the Cowlib dependency to 2.5.1 and fixes a few problems with experimental features.
+Features added Update Cowlib to 2.5.1 Bugs fixed A bug in the experimental gun_sse_h where lone id lines were not propagated has been fixed by updating the Cowlib dependency. The status code was incorrectly given to the experimental content handlers as a binary. It has been fixed an an integer is now given as was intended.</description>
+ </item>
+
+ <item>
<title>Constraints</title>
<link>https://ninenines.eu/docs/en/cowboy/2.0/guide/constraints/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -1256,6 +1350,7 @@ Requirements Erlang.mk uses p7zip by default to generate the escript archive. Ma
<guid>https://ninenines.eu/docs/en/ranch/1.6/guide/migrating_from_1.6/</guid>
<description>The following patch versions were released since Ranch 1.6:
+Ranch 1.6.2 This release fixes an issue where listener information would not get cleaned up when an embedded listener was stopped.
Ranch 1.6.1 This release fixes a minor issue in the README and adds an undocumented function to help Cowboy deal with the transition from list to map for the transport options.</description>
</item>
@@ -2661,6 +2756,18 @@ Modules gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support lib
</item>
<item>
+ <title>Gun Function Reference</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/</guid>
+ <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>
+ </item>
+
+ <item>
<title>Gun User Guide</title>
<link>https://ninenines.eu/docs/en/gun/1.0/guide/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -2679,6 +2786,15 @@ Modules gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support lib
</item>
<item>
+ <title>Gun User Guide</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/</guid>
+ <description>Interface Introduction Starting and stopping Supported protocols Connection Using HTTP Using Websocket Additional information Migrating from Gun 1.1 to 1.2 Migrating from Gun 1.0 to 1.1 </description>
+ </item>
+
+ <item>
<title>HTTP status codes(7)</title>
<link>https://ninenines.eu/docs/en/cowboy/2.0/manual/http_status_codes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -6929,6 +7045,18 @@ gun:open(3) - Open a connection to the given host and port gun:open_unix(3) - O
</item>
<item>
+ <title>gun(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun/</guid>
+ <description>Name gun - Asynchronous HTTP client
+Description The gun module provides an asynchronous interface for connecting and communicating with Web servers over HTTP, HTTP/2 or Websocket.
+Exports Connection:
+gun:open(3) - Open a connection to the given host and port gun:open_unix(3) - Open a connection to the given Unix domain socket gun:close(3) - Brutally close the connection gun:info(3) - Obtain information about the connection Requests:</description>
+ </item>
+
+ <item>
<title>gun(7)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_app/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -6953,6 +7081,18 @@ Modules gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support lib
</item>
<item>
+ <title>gun(7)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_app/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_app/</guid>
+ <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>
+ </item>
+
+ <item>
<title>gun:await(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -6975,6 +7115,17 @@ This function waits for a message from the given stream and returns it as a tupl
</item>
<item>
+ <title>gun:await(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await/</guid>
+ <description>Name gun:await - Wait for a response
+Description await(ConnPid, StreamRef) -&amp;gt; await(ConnPid, StreamRef, 5000, MonitorRef) await(ConnPid, StreamRef, MonitorRef) -&amp;gt; await(ConnPid, StreamRef, 5000, MonitorRef) await(ConnPid, StreamRef, Timeout) -&amp;gt; await(ConnPid, StreamRef, Timeout, MonitorRef) await(ConnPid, StreamRef, Timeout, MonitorRef) -&amp;gt; Result ConnPid :: pid() StreamRef :: reference() MonitorRef :: reference() Timeout :: timeout() Result :: tuple() - see below Wait for a response.
+This function waits for a message from the given stream and returns it as a tuple.</description>
+ </item>
+
+ <item>
<title>gun:await_body(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await_body/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -6995,6 +7146,16 @@ Description await_body(ConnPid, StreamRef) -&amp;gt; await_body(ConnPid, StreamR
</item>
<item>
+ <title>gun:await_body(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_body/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_body/</guid>
+ <description>Name gun:await_body - Wait for the complete response body
+Description await_body(ConnPid, StreamRef) -&amp;gt; await_body(ConnPid, StreamRef, 5000, MonitorRef) await_body(ConnPid, StreamRef, MonitorRef) -&amp;gt; await_body(ConnPid, StreamRef, 5000, MonitorRef) await_body(ConnPid, StreamRef, Timeout) -&amp;gt; await_body(ConnPid, StreamRef, Timeout, MonitorRef) await_body(ConnPid, StreamRef, Timeout, MonitorRef) -&amp;gt; {ok, Body} | {ok, Body, Trailers} | {error, Reason} ConnPid :: pid() StreamRef :: reference() MonitorRef :: reference() Timeout :: timeout() Body :: binary() Trailers :: [{binary(), binary()}] Reason :: timeout | any() Wait for the complete response body.</description>
+ </item>
+
+ <item>
<title>gun:await_up(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await_up/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7017,6 +7178,17 @@ Arguments ConnPid The pid of the Gun connection process.</description>
</item>
<item>
+ <title>gun:await_up(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_up/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_up/</guid>
+ <description>Name gun:await_up - Wait for the connection to be up
+Description await_up(ConnPid) -&amp;gt; await_up(ConnPid, 5000, MonitorRef) await_up(ConnPid, MonitorRef) -&amp;gt; await_up(ConnPid, 5000, MonitorRef) await_up(ConnPid, Timeout) -&amp;gt; await_up(ConnPid, Timeout, MonitorRef) await_up(ConnPid, Timeout, MonitorRef) -&amp;gt; {ok, Protocol} | {error, Reason} ConnPid :: pid() MonitorRef :: reference() Timeout :: timeout() Protocol :: http | http2 Reason :: timeout | any() Wait for the connection to be up.
+Arguments ConnPid The pid of the Gun connection process.</description>
+ </item>
+
+ <item>
<title>gun:cancel(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.cancel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7041,6 +7213,18 @@ HTTP/1.1 does not support this feature. Gun will simply silence the stream and s
</item>
<item>
+ <title>gun:cancel(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.cancel/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.cancel/</guid>
+ <description>Name gun:cancel - Cancel the given stream
+Description cancel(ConnPid, StreamRef) -&amp;gt; ok ConnPid :: pid() StreamRef :: reference() Cancel the given stream.
+The behavior of this function depends on the protocol selected.
+HTTP/1.1 does not support this feature. Gun will simply silence the stream and stop relaying messages. Gun may also decide to close the connection if the response body is too large, to avoid wasting time and bandwidth.</description>
+ </item>
+
+ <item>
<title>gun:close(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.close/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7067,6 +7251,30 @@ Changelog 1.0: Function introduced. Examples Close the connection ok = gun:clo
</item>
<item>
+ <title>gun:close(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.close/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.close/</guid>
+ <description>Name gun:close - Brutally close the connection
+Description close(ConnPid) -&amp;gt; ok ConnPid :: pid() Brutally close the connection.
+Arguments ConnPid The pid of the Gun connection process.
+ Return value The atom ok is returned.
+Changelog 1.0: Function introduced. Examples Close the connection ok = gun:close(ConnPid). See also gun(3), gun:open(3), gun:open_unix(3)</description>
+ </item>
+
+ <item>
+ <title>gun:connect(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.connect/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.connect/</guid>
+ <description>Name gun:connect - Establish a tunnel to the origin server
+Description connect(ConnPid, Destination) -&amp;gt; connect(ConnPid, Destination, [], #{}). connect(ConnPid, Destination, Headers) -&amp;gt; connect(ConnPid, Destination, Headers, #{}). connect(ConnPid, Destination, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Destination :: gun:connect_destination() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Establish a tunnel to the origin server.
+This feature is currently only available for HTTP/1.1 connections. Upon successful completion of the CONNECT request a tunnel is established and subsequent requests will go through the tunnel.</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>
@@ -7091,6 +7299,18 @@ All calls to this function must use the nofin flag except for the last which mus
</item>
<item>
+ <title>gun:data(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.data/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.data/</guid>
+ <description>Name gun:data - Stream the body of a request
+Description data(ConnPid, StreamRef, IsFin, Data) -&amp;gt; ok ConnPid :: pid() StreamRef :: reference() IsFin :: fin | nofin Data :: iodata() Stream the body of a request.
+This function can only be used if the original request had headers indicating that a body would be streamed.
+All calls to this function must use the nofin flag except for the last which must use fin to indicate the end of the request body.</description>
+ </item>
+
+ <item>
<title>gun:delete(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.delete/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7119,6 +7339,20 @@ Arguments ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun:delete(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.delete/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.delete/</guid>
+ <description>Name gun:delete - Delete a resource
+Description delete(ConnPid, Path) -&amp;gt; delete(ConnPid, Path, [], #{}). delete(ConnPid, Path, Headers) -&amp;gt; delete(ConnPid, Path, Headers, #{}) delete(ConnPid, Path, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Delete a resource.
+Arguments ConnPid The pid of the Gun connection process.
+ Path Path to the resource.
+ Headers Additional request headers.
+ ReqOpts Request options.</description>
+ </item>
+
+ <item>
<title>gun:flush(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.flush/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7147,6 +7381,20 @@ ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun:flush(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.flush/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.flush/</guid>
+ <description>Name gun:flush - Flush all messages related to a connection or a stream
+Description flush(ConnPid) -&amp;gt; ok flush(StreamRef) -&amp;gt; ok ConnPid :: pid() StreamRef :: reference() Flush all messages related to a connection or a stream.
+Arguments Either of these arguments may be provided:
+ConnPid The pid of the Gun connection process.
+ StreamRef Identifier of the stream for the original request.
+ Return value The atom ok is returned.</description>
+ </item>
+
+ <item>
<title>gun:get(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.get/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7173,6 +7421,19 @@ Arguments ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun:get(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.get/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.get/</guid>
+ <description>Name gun:get - Get a resource representation
+Description get(ConnPid, Path) -&amp;gt; get(ConnPid, Path, [], #{}). get(ConnPid, Path, Headers) -&amp;gt; get(ConnPid, Path, Headers, #{}) get(ConnPid, Path, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Get a resource representation.
+Arguments ConnPid The pid of the Gun connection process.
+ Path Path to the resource.
+ Headers Additional request headers.</description>
+ </item>
+
+ <item>
<title>gun:head(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.head/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7195,6 +7456,17 @@ This function performs the same operation as gun:get(3), except the server will
</item>
<item>
+ <title>gun:head(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.head/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.head/</guid>
+ <description>Name gun:head - Get headers of a resource representation
+Description head(ConnPid, Path) -&amp;gt; head(ConnPid, Path, [], #{}). head(ConnPid, Path, Headers) -&amp;gt; head(ConnPid, Path, Headers, #{}) head(ConnPid, Path, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Get headers of a resource representation.
+This function performs the same operation as gun:get(3), except the server will not send the resource representation, only the response&amp;apos;s status code and headers.</description>
+ </item>
+
+ <item>
<title>gun:info(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.info/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7221,6 +7493,19 @@ Changelog 1.0: Function introduced. Examples Obtain information about the conn
</item>
<item>
+ <title>gun:info(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.info/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.info/</guid>
+ <description>Name gun:info - Obtain information about the connection
+Description info(ConnPid) -&amp;gt; Info ConnPid :: pid() Info :: #{ sock_ip =&amp;gt; inet:ip_address(), sock_port =&amp;gt; inet:port_number() } Obtain information about the connection.
+Arguments ConnPid The pid of the Gun connection process.
+ Return value A map is returned containing various informations about the connection.
+Changelog 1.0: Function introduced. Examples Obtain information about the connection Info = gun:info(ConnPid). See also gun(3), gun:open(3), gun:open_unix(3)</description>
+ </item>
+
+ <item>
<title>gun:open(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.open/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7247,6 +7532,19 @@ Arguments Host Host or IP address to connect to.
</item>
<item>
+ <title>gun:open(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open/</guid>
+ <description>Name gun:open - Open a connection to the given host and port
+Description open(Host, Port) -&amp;gt; open(Host, Port, #{}) open(Host, Port, Opts) -&amp;gt; {ok, pid()} | {error, any()} Host :: inet:hostname() | inet:ip_address() Port :: inet:port_number() Opts :: gun:opts() Open a connection to the given host and port.
+Arguments Host Host or IP address to connect to.
+ Port Port to connect to.
+ Opts Options for this connection.</description>
+ </item>
+
+ <item>
<title>gun:open_unix(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.open_unix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7273,6 +7571,19 @@ Arguments SocketPath Path to the Unix domain socket to connect to.
</item>
<item>
+ <title>gun:open_unix(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open_unix/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open_unix/</guid>
+ <description>Name gun:open_unix - Open a connection to the given Unix domain socket
+Description open_unix(SocketPath, Opts) -&amp;gt; {ok, pid()} | {error, any()} SocketPath :: string() Opts :: gun:opts() Open a connection to the given Unix domain socket.
+Arguments SocketPath Path to the Unix domain socket to connect to.
+ Opts Options for this connection.
+ Return value The pid of the newly created Gun process is returned. Note that this does not indicate that the connection has been successfully opened; the gun_up(3) message will be sent for that.</description>
+ </item>
+
+ <item>
<title>gun:options(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.options/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7295,6 +7606,17 @@ The special path &amp;quot;*&amp;quot; can be used to obtain information about t
</item>
<item>
+ <title>gun:options(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.options/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.options/</guid>
+ <description>Name gun:options - Query the capabilities of the server or a resource
+Description options(ConnPid, Path) -&amp;gt; options(ConnPid, Path, [], #{}). options(ConnPid, Path, Headers) -&amp;gt; options(ConnPid, Path, Headers, #{}) options(ConnPid, Path, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Query the capabilities of the server or a resource.
+The special path &amp;quot;*&amp;quot; can be used to obtain information about the server as a whole.</description>
+ </item>
+
+ <item>
<title>gun:patch(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.patch/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7317,6 +7639,17 @@ The behavior of this function varies depending on whether a body is provided.</d
</item>
<item>
+ <title>gun:patch(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.patch/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.patch/</guid>
+ <description>Name gun:patch - Apply a set of changes to a resource
+Description patch(ConnPid, Path, Headers) -&amp;gt; StreamRef patch(ConnPid, Path, Headers, Body) -&amp;gt; patch(ConnPid, Path, Headers, Body, #{}) patch(ConnPid, Path, Headers, Body, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] Body :: iodata() ReqOpts :: gun:req_opts() StreamRef :: reference() Apply a set of changes to a resource.
+The behavior of this function varies depending on whether a body is provided.</description>
+ </item>
+
+ <item>
<title>gun:post(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.post/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7339,6 +7672,17 @@ The behavior of this function varies depending on whether a body is provided.</d
</item>
<item>
+ <title>gun:post(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.post/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.post/</guid>
+ <description>Name gun:post - Process the enclosed representation according to a resource&amp;apos;s own semantics
+Description post(ConnPid, Path, Headers) -&amp;gt; StreamRef post(ConnPid, Path, Headers, Body) -&amp;gt; post(ConnPid, Path, Headers, Body, #{}) post(ConnPid, Path, Headers, Body, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] Body :: iodata() ReqOpts :: gun:req_opts() StreamRef :: reference() Process the enclosed representation according to a resource&amp;apos;s own semantics.
+The behavior of this function varies depending on whether a body is provided.</description>
+ </item>
+
+ <item>
<title>gun:put(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.put/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7363,6 +7707,18 @@ The function put/3 expects either a content-length or content-type header to ind
</item>
<item>
+ <title>gun:put(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.put/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.put/</guid>
+ <description>Name gun:put - Create or replace a resource
+Description put(ConnPid, Path, Headers) -&amp;gt; StreamRef put(ConnPid, Path, Headers, Body) -&amp;gt; put(ConnPid, Path, Headers, Body, #{}) put(ConnPid, Path, Headers, Body, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] Body :: iodata() ReqOpts :: gun:req_opts() StreamRef :: reference() Create or replace a resource.
+The behavior of this function varies depending on whether a body is provided.
+The function put/3 expects either a content-length or content-type header to indicate that a body will be sent afterwards.</description>
+ </item>
+
+ <item>
<title>gun:request(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.request/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7385,6 +7741,17 @@ This is a general purpose function that should only be used when other method-sp
</item>
<item>
+ <title>gun:request(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.request/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.request/</guid>
+ <description>Name gun:request - Perform the given request
+Description request(ConnPid, Method, Path, Headers) -&amp;gt; StreamRef request(ConnPid, Method, Path, Headers, Body) -&amp;gt; request(ConnPid, Method, Path, Headers, Body, #{}) request(ConnPid, Method, Path, Headers, Body, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Method :: binary() Path :: iodata() Headers :: [{binary(), iodata()}] Body :: iodata() ReqOpts :: gun:req_opts() StreamRef :: reference() Perform the given request.
+This is a general purpose function that should only be used when other method-specific functions do not apply.</description>
+ </item>
+
+ <item>
<title>gun:ws_send(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.ws_send/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7411,6 +7778,19 @@ Arguments ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun:ws_send(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_send/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_send/</guid>
+ <description>Name gun:ws_send - Send Websocket frames
+Description ws_send(ConnPid, Frames) -&amp;gt; ok ConnPid :: pid() Frames :: Frame | [Frame] Frame :: close | ping | pong | {text | binary | close | ping | pong, iodata()} | {close, non_neg_integer(), iodata()} Send Websocket frames.
+The connection must first be upgraded to Websocket using the function gun:ws_upgrade(3).
+Arguments ConnPid The pid of the Gun connection process.
+ Frames A Websocket frame.</description>
+ </item>
+
+ <item>
<title>gun:ws_upgrade(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.ws_upgrade/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7435,6 +7815,18 @@ HTTP/1.1 cannot handle Websocket and HTTP requests concurrently. The upgrade, if
</item>
<item>
+ <title>gun:ws_upgrade(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_upgrade/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_upgrade/</guid>
+ <description>Name gun:ws_upgrade - Upgrade to Websocket
+Description ws_upgrade(ConnPid, Path) -&amp;gt; ws_upgrade(ConnPid, Path, []) ws_upgrade(ConnPid, Path, Headers) -&amp;gt; StreamRef ws_upgrade(ConnPid, Path, Headers, WsOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] WsOpts :: gun:ws_opts StreamRef :: reference() Upgrade to Websocket.
+The behavior of this function depends on the protocol selected.
+HTTP/1.1 cannot handle Websocket and HTTP requests concurrently. The upgrade, if successful, will result in the complete takeover of the connection.</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>
@@ -7461,6 +7853,19 @@ The response body may be terminated either by a data message with the flag fin s
</item>
<item>
+ <title>gun_data(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_data/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_data/</guid>
+ <description>Name gun_data - Response body
+Description {gun_data, ConnPid, StreamRef, IsFin, Data} ConnPid :: pid() StreamRef :: reference() IsFin :: fin | nofin Data :: binary() Response body.
+This message informs the relevant process that the server sent a all or part of the body for the response to the original request.
+A data message is always preceded by a response message.
+The response body may be terminated either by a data message with the flag fin set or by a gun_trailers(3) message.</description>
+ </item>
+
+ <item>
<title>gun_down(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_down/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7485,6 +7890,18 @@ When the connection goes back up, Gun will not attempt to retry requests.</descr
</item>
<item>
+ <title>gun_down(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_down/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_down/</guid>
+ <description>Name gun_down - The connection is down
+Description {gun_down, ConnPid, Protocol, Reason, KilledStreams, UnprocessedStreams} ConnPid :: pid() Protocol :: http | http2 | ws Reason :: any() KilledStreams :: [reference()] UnprocessedStreams :: [reference()] The connection is down.
+This message informs the owner process that the connection was lost. Depending on the retry and retry_timeout options Gun may automatically attempt to reconnect.
+When the connection goes back up, Gun will not attempt to retry requests.</description>
+ </item>
+
+ <item>
<title>gun_error(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_error/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7507,6 +7924,17 @@ These messages inform the relevant process that an error occurred. A reference i
</item>
<item>
+ <title>gun_error(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_error/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_error/</guid>
+ <description>Name gun_error - Stream or connection-wide error
+Description {gun_error, ConnPid, StreamRef, Reason} {gun_error, ConnPid, Reason} ConnPid :: pid() StreamRef :: reference() Reason :: any() Stream or connection-wide error.
+These messages inform the relevant process that an error occurred. A reference is given when the error pertains to a specific stream. Connection-wide errors do not imply that the connection is no longer usable, they are used for all errors that are not specific to a stream.</description>
+ </item>
+
+ <item>
<title>gun_inform(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_inform/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7531,6 +7959,18 @@ Informational responses are only intermediate responses and provide no guarantee
</item>
<item>
+ <title>gun_inform(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_inform/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_inform/</guid>
+ <description>Name gun_inform - Informational response
+Description {gun_inform, ConnPid, StreamRef, Status, Headers} ConnPid :: pid() StreamRef :: reference() Status :: 100..199 Headers :: [{binary(), binary()}] Informational response.
+This message informs the relevant process that the server sent an informational response to the original request.
+Informational responses are only intermediate responses and provide no guarantees as to what the final response will be. An informational response always precedes the response to the original request.</description>
+ </item>
+
+ <item>
<title>gun_push(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_push/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7555,6 +7995,18 @@ A server-initiated push message always precedes the response to the original req
</item>
<item>
+ <title>gun_push(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_push/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_push/</guid>
+ <description>Name gun_push - Server-initiated push
+Description {gun_push, ConnPid, StreamRef, NewStreamRef, Method, URI, Headers} ConnPid :: pid() StreamRef :: reference() NewStreamRef :: reference() Method :: binary() URI :: binary() Headers :: [{binary(), binary()}] Server-initiated push.
+This message informs the relevant process that the server is pushing a resource related to the effective target URI of the original request.
+A server-initiated push message always precedes the response to the original request.</description>
+ </item>
+
+ <item>
<title>gun_response(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_response/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7583,6 +8035,20 @@ Elements ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun_response(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_response/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_response/</guid>
+ <description>Name gun_response - Response
+Description {gun_response, ConnPid, StreamRef, IsFin, Status, Headers} ConnPid :: pid() StreamRef :: reference() IsFin :: fin | nofin Status :: non_neg_integer() Headers :: [{binary(), binary()}] Response.
+This message informs the relevant process that the server sent a response to the original request.
+Elements ConnPid The pid of the Gun connection process.
+ StreamRef Identifier of the stream for the original request.
+ IsFin Whether this message terminates the response.</description>
+ </item>
+
+ <item>
<title>gun_trailers(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_trailers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7613,6 +8079,21 @@ Elements ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun_trailers(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_trailers/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_trailers/</guid>
+ <description>Name gun_trailers - Response trailers
+Description {gun_trailers, ConnPid, StreamRef, Headers} ConnPid :: pid() StreamRef :: reference() Headers :: [{binary(), binary()}] Response trailers.
+This message informs the relevant process that the server sent response trailers for the response to the original request.
+A trailers message terminates the response.
+Elements ConnPid The pid of the Gun connection process.
+ StreamRef Identifier of the stream for the original request.
+ Headers Trailing headers sent after the response body.</description>
+ </item>
+
+ <item>
<title>gun_up(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_up/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7637,6 +8118,18 @@ Gun will now start processing the messages it received while waiting for the con
</item>
<item>
+ <title>gun_up(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_up/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_up/</guid>
+ <description>Name gun_up - The connection is up
+Description {gun_up, ConnPid, Protocol} ConnPid :: pid() Protocol :: http | http2 The connection is up.
+This message informs the owner process that the connection or reconnection completed.
+Gun will now start processing the messages it received while waiting for the connection to be up. If this is a reconnection, then this may not be desirable for all requests. Those requests should be cancelled when the connection goes down, and any subsequent messages ignored.</description>
+ </item>
+
+ <item>
<title>gun_upgrade(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_upgrade/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7661,6 +8154,18 @@ The exact semantics of this message depend on the original protocol. HTTP/1.1 up
</item>
<item>
+ <title>gun_upgrade(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_upgrade/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_upgrade/</guid>
+ <description>Name gun_upgrade - Successful protocol upgrade
+Description {gun_upgrade, ConnPid, StreamRef, Protocols, Headers} ConnPid :: pid() StreamRef :: reference() Protocols :: [&amp;lt;&amp;lt;&#34;websocket&#34;&amp;gt;&amp;gt;] Headers :: [{binary(), binary()}] Successful protocol upgrade.
+This message informs the relevant process that the server accepted to upgrade to one or more protocols given in the original request.
+The exact semantics of this message depend on the original protocol. HTTP/1.1 upgrades apply to the entire connection. HTTP/2 uses a different mechanism which allows switching specific streams to a different protocol.</description>
+ </item>
+
+ <item>
<title>gun_ws(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_ws/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7687,6 +8192,19 @@ Elements ConnPid The pid of the Gun connection process.</description>
</item>
<item>
+ <title>gun_ws(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_ws/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_ws/</guid>
+ <description>Name gun_ws - Websocket frame
+Description {gun_ws, ConnPid, StreamRef, Frame} ConnPid :: pid() StreamRef :: reference() Frame :: close | {text | binary | close, binary()} | {close, non_neg_integer(), binary()} Websocket frame.
+This message informs the relevant process that the server sent the enclosed frame.
+This message can only be sent on streams that were upgraded to the Websocket protocol.
+Elements ConnPid The pid of the Gun connection process.</description>
+ </item>
+
+ <item>
<title>ranch(3)</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/manual/ranch/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
diff --git a/donate/index.html b/donate/index.html
index 8c117b1d..7c808e63 100644
--- a/donate/index.html
+++ b/donate/index.html
@@ -575,6 +575,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
<p>Donate to Loïc Hoguin because his work on Cowboy and Erlang.mk is fantastic:</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
@@ -1565,6 +1583,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
</div>
</div>
</div>
diff --git a/index.html b/index.html
index 78d16a0f..c47756ef 100644
--- a/index.html
+++ b/index.html
@@ -197,10 +197,10 @@
<a class="btn btn-large" href="https://github.com/ninenines/gun">Source Code</a>
- <a class="btn btn-large" href="/docs/en/gun/1.1/guide/">User Guide</a>
+ <a class="btn btn-large" href="/docs/en/gun/1.2/guide/">User Guide</a>
- <a class="btn btn-large" href="/docs/en/gun/1.1/manual/">Manual</a>
+ <a class="btn btn-large" href="/docs/en/gun/1.2/manual/">Manual</a>
</p>
@@ -738,6 +738,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<p>Feeling generous? Love reading?<br/><a href="https://salt.bountysource.com/teams/ninenines">Crowdfund my salary</a> or buy <a href="/articles/erlanger-playbook">The Erlanger Playbook</a></p>
@@ -1713,6 +1731,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
</div></div>
</div>
diff --git a/index.xml b/index.xml
index ca6e6e02..ac9405b9 100644
--- a/index.xml
+++ b/index.xml
@@ -6,7 +6,7 @@
<description>Recent content on Nine Nines</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
- <lastBuildDate>Wed, 01 Aug 2018 10:00:00 +0100</lastBuildDate>
+ <lastBuildDate>Mon, 17 Sep 2018 10:00:00 +0100</lastBuildDate>
<atom:link href="https://ninenines.eu/index.xml" rel="self" type="application/rss+xml" />
@@ -55,6 +55,21 @@ Copyright (c) 2013-2018, Loïc Hoguin &amp;lt;[email protected]&amp;gt; Permiss
<item>
<title>Introduction</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/introduction/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/introduction/</guid>
+ <description>Gun is an HTTP client for Erlang/OTP.
+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 19.0 and newer.
+License Gun uses the ISC License.
+Copyright (c) 2013-2018, 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>
+ <title>Introduction</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/guide/introduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -306,6 +321,19 @@ Starting Gun in an Erlang shell 1&amp;gt; application:ensure_all_started(gun).</
</item>
<item>
+ <title>Starting and stopping</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/start/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/start/</guid>
+ <description>This chapter describes how to start and stop the Gun application.
+Setting up Specify Gun as a dependency to your application in your favorite build tool.
+With Erlang.mk this is done by adding gun to the DEPS variable in your Makefile.
+Adding Gun as an Erlang.mk dependency DEPS = gun Starting Gun is an OTP application. It needs to be started before you can use it.
+Starting Gun in an Erlang shell 1&amp;gt; application:ensure_all_started(gun).</description>
+ </item>
+
+ <item>
<title>Supported protocols</title>
<link>https://ninenines.eu/docs/en/gun/1.0/guide/protocols/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -330,6 +358,18 @@ Gun will send a gun_inform message for every intermediate informational response
</item>
<item>
+ <title>Supported protocols</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/protocols/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/protocols/</guid>
+ <description>This chapter describes the protocols supported and the operations available to them.
+HTTP/1.1 HTTP/1.1 is a text request-response protocol. The client sends a request, the server sends back a response.
+Gun provides convenience functions for performing GET, HEAD, OPTIONS, POST, PATCH, PUT, and DELETE requests. All these functions are aliases of gun:request/4,5,6 for the respective methods. Gun also provides a gun:data/4 function for streaming the request body.
+Gun will send a gun_inform message for every intermediate informational responses received.</description>
+ </item>
+
+ <item>
<title>Introduction</title>
<link>https://ninenines.eu/docs/en/cowboy/2.0/guide/introduction/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -487,6 +527,17 @@ A Gun connection is an Erlang process that manages a socket to a remote endpoint
</item>
<item>
+ <title>Connection</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/connect/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/connect/</guid>
+ <description>This chapter describes how to open, monitor and close a connection using the Gun client.
+Gun connections Gun is designed with the HTTP/2 and Websocket protocols in mind. They are built for long-running connections that allow concurrent exchange of data, either in the form of request/responses for HTTP/2 or in the form of messages for Websocket.
+A Gun connection is an Erlang process that manages a socket to a remote endpoint.</description>
+ </item>
+
+ <item>
<title>Protocols</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/guide/protocols/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -622,6 +673,18 @@ Streams can be canceled at any time.</description>
</item>
<item>
+ <title>HTTP</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/http/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/http/</guid>
+ <description>This chapter describes how to use the Gun client for communicating with an HTTP/1.1 or HTTP/2 server.
+Streams Every time a request is initiated, Gun creates a stream. A stream reference uniquely identifies a set of request and response and must be used to perform additional operations with a stream or to identify its messages.
+Stream references use the Erlang reference data type and are therefore unique.
+Streams can be canceled at any time.</description>
+ </item>
+
+ <item>
<title>Embedded mode</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/guide/embedded/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -767,6 +830,17 @@ You must use the gun:ws_upgrade/2,3,4 function to upgrade to Websocket.</descrip
</item>
<item>
+ <title>Websocket</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/websocket/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/websocket/</guid>
+ <description>This chapter describes how to use the Gun client for communicating with a Websocket server.
+HTTP upgrade Websocket is a protocol built on top of HTTP. To use Websocket, you must first request for the connection to be upgraded. Only HTTP/1.1 connections can be upgraded to Websocket, so you might need to restrict the protocol to HTTP/1.1 if you are planning to use Websocket over TLS.
+You must use the gun:ws_upgrade/2,3,4 function to upgrade to Websocket.</description>
+ </item>
+
+ <item>
<title>Writing parsers</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/guide/parsers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -844,6 +918,16 @@ Features added Update Cowlib to 2.5.1 Bugs fixed A bug in the experimental gun
</item>
<item>
+ <title>Migrating from Gun 1.1 to 1.2</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/</guid>
+ <description>Gun 1.2 adds support for the CONNECT request over HTTP/1.1 connections.
+Features added CONNECT requests can now be issued on HTTP/1.1 connections. The tunneled connection can use any of the protocols Gun supports: HTTP/1.1, HTTP/2 and Websocket over both TCP and TLS transports. Note that Gun currently does not support tunneling a TLS connection over a TLS connection due to limitations in Erlang/OTP. Gun supports sending multiple CONNECT requests, allowing the tunnel to the origin server to go through multiple proxies.</description>
+ </item>
+
+ <item>
<title>Listeners</title>
<link>https://ninenines.eu/docs/en/cowboy/2.0/guide/listeners/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -1081,6 +1165,16 @@ Note that for everything related to efficiency and performance, you should perfo
</item>
<item>
+ <title>Migrating from Gun 1.0 to 1.1</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.0/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.0/</guid>
+ <description>Gun 1.1 updates the Cowlib dependency to 2.5.1 and fixes a few problems with experimental features.
+Features added Update Cowlib to 2.5.1 Bugs fixed A bug in the experimental gun_sse_h where lone id lines were not propagated has been fixed by updating the Cowlib dependency. The status code was incorrectly given to the experimental content handlers as a binary. It has been fixed an an integer is now given as was intended.</description>
+ </item>
+
+ <item>
<title>Constraints</title>
<link>https://ninenines.eu/docs/en/cowboy/2.0/guide/constraints/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -1257,6 +1351,7 @@ Requirements Erlang.mk uses p7zip by default to generate the escript archive. Ma
<guid>https://ninenines.eu/docs/en/ranch/1.6/guide/migrating_from_1.6/</guid>
<description>The following patch versions were released since Ranch 1.6:
+Ranch 1.6.2 This release fixes an issue where listener information would not get cleaned up when an embedded listener was stopped.
Ranch 1.6.1 This release fixes a minor issue in the README and adds an undocumented function to help Cowboy deal with the transition from list to map for the transport options.</description>
</item>
@@ -2519,6 +2614,19 @@ HTTP IANA Registries HTTP Method Registry HTTP Status Code Registry Message He
</item>
<item>
+ <title>Gun 1.2</title>
+ <link>https://ninenines.eu/articles/gun-1.2.0/</link>
+ <pubDate>Mon, 17 Sep 2018 10:00:00 +0100</pubDate>
+
+ <guid>https://ninenines.eu/articles/gun-1.2.0/</guid>
+ <description>Gun 1.2.0 has been released!
+Gun is an HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
+Gun now supports issuing CONNECT requests to HTTP proxies in order to establish tunnels to origin servers. Gun can establish tunnels over one or more proxies as necessary.
+All existing protocols can be used inside the tunnel, including HTTP/1.1, HTTP/2 and Websocket over both TCP and TLS connections.
+Note that it is currently not possible to tunnel a TLS connection via an HTTPS proxy due to limitations in the current version of Erlang/OTP.</description>
+ </item>
+
+ <item>
<title>Ranch 1.6</title>
<link>https://ninenines.eu/articles/ranch-1.6.0/</link>
<pubDate>Wed, 01 Aug 2018 10:00:00 +0100</pubDate>
@@ -3094,6 +3202,18 @@ Modules gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support lib
</item>
<item>
+ <title>Gun Function Reference</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/</guid>
+ <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>
+ </item>
+
+ <item>
<title>Gun User Guide</title>
<link>https://ninenines.eu/docs/en/gun/1.0/guide/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -3112,6 +3232,15 @@ Modules gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support lib
</item>
<item>
+ <title>Gun User Guide</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/guide/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/guide/</guid>
+ <description>Interface Introduction Starting and stopping Supported protocols Connection Using HTTP Using Websocket Additional information Migrating from Gun 1.1 to 1.2 Migrating from Gun 1.0 to 1.1 </description>
+ </item>
+
+ <item>
<title>HTTP status codes(7)</title>
<link>https://ninenines.eu/docs/en/cowboy/2.0/manual/http_status_codes/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7362,6 +7491,18 @@ gun:open(3) - Open a connection to the given host and port gun:open_unix(3) - O
</item>
<item>
+ <title>gun(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun/</guid>
+ <description>Name gun - Asynchronous HTTP client
+Description The gun module provides an asynchronous interface for connecting and communicating with Web servers over HTTP, HTTP/2 or Websocket.
+Exports Connection:
+gun:open(3) - Open a connection to the given host and port gun:open_unix(3) - Open a connection to the given Unix domain socket gun:close(3) - Brutally close the connection gun:info(3) - Obtain information about the connection Requests:</description>
+ </item>
+
+ <item>
<title>gun(7)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_app/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7386,6 +7527,18 @@ Modules gun(3) - Asynchronous HTTP client Dependencies cowlib(7) - Support lib
</item>
<item>
+ <title>gun(7)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_app/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_app/</guid>
+ <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>
+ </item>
+
+ <item>
<title>gun:await(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7408,6 +7561,17 @@ This function waits for a message from the given stream and returns it as a tupl
</item>
<item>
+ <title>gun:await(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await/</guid>
+ <description>Name gun:await - Wait for a response
+Description await(ConnPid, StreamRef) -&amp;gt; await(ConnPid, StreamRef, 5000, MonitorRef) await(ConnPid, StreamRef, MonitorRef) -&amp;gt; await(ConnPid, StreamRef, 5000, MonitorRef) await(ConnPid, StreamRef, Timeout) -&amp;gt; await(ConnPid, StreamRef, Timeout, MonitorRef) await(ConnPid, StreamRef, Timeout, MonitorRef) -&amp;gt; Result ConnPid :: pid() StreamRef :: reference() MonitorRef :: reference() Timeout :: timeout() Result :: tuple() - see below Wait for a response.
+This function waits for a message from the given stream and returns it as a tuple.</description>
+ </item>
+
+ <item>
<title>gun:await_body(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await_body/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7428,6 +7592,16 @@ Description await_body(ConnPid, StreamRef) -&amp;gt; await_body(ConnPid, StreamR
</item>
<item>
+ <title>gun:await_body(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_body/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_body/</guid>
+ <description>Name gun:await_body - Wait for the complete response body
+Description await_body(ConnPid, StreamRef) -&amp;gt; await_body(ConnPid, StreamRef, 5000, MonitorRef) await_body(ConnPid, StreamRef, MonitorRef) -&amp;gt; await_body(ConnPid, StreamRef, 5000, MonitorRef) await_body(ConnPid, StreamRef, Timeout) -&amp;gt; await_body(ConnPid, StreamRef, Timeout, MonitorRef) await_body(ConnPid, StreamRef, Timeout, MonitorRef) -&amp;gt; {ok, Body} | {ok, Body, Trailers} | {error, Reason} ConnPid :: pid() StreamRef :: reference() MonitorRef :: reference() Timeout :: timeout() Body :: binary() Trailers :: [{binary(), binary()}] Reason :: timeout | any() Wait for the complete response body.</description>
+ </item>
+
+ <item>
<title>gun:await_up(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await_up/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7450,6 +7624,17 @@ Arguments ConnPid The pid of the Gun connection process.</description>
</item>
<item>
+ <title>gun:await_up(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_up/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_up/</guid>
+ <description>Name gun:await_up - Wait for the connection to be up
+Description await_up(ConnPid) -&amp;gt; await_up(ConnPid, 5000, MonitorRef) await_up(ConnPid, MonitorRef) -&amp;gt; await_up(ConnPid, 5000, MonitorRef) await_up(ConnPid, Timeout) -&amp;gt; await_up(ConnPid, Timeout, MonitorRef) await_up(ConnPid, Timeout, MonitorRef) -&amp;gt; {ok, Protocol} | {error, Reason} ConnPid :: pid() MonitorRef :: reference() Timeout :: timeout() Protocol :: http | http2 Reason :: timeout | any() Wait for the connection to be up.
+Arguments ConnPid The pid of the Gun connection process.</description>
+ </item>
+
+ <item>
<title>gun:cancel(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.cancel/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7474,6 +7659,18 @@ HTTP/1.1 does not support this feature. Gun will simply silence the stream and s
</item>
<item>
+ <title>gun:cancel(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.cancel/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.cancel/</guid>
+ <description>Name gun:cancel - Cancel the given stream
+Description cancel(ConnPid, StreamRef) -&amp;gt; ok ConnPid :: pid() StreamRef :: reference() Cancel the given stream.
+The behavior of this function depends on the protocol selected.
+HTTP/1.1 does not support this feature. Gun will simply silence the stream and stop relaying messages. Gun may also decide to close the connection if the response body is too large, to avoid wasting time and bandwidth.</description>
+ </item>
+
+ <item>
<title>gun:close(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.close/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7500,6 +7697,30 @@ Changelog 1.0: Function introduced. Examples Close the connection ok = gun:clo
</item>
<item>
+ <title>gun:close(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.close/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.close/</guid>
+ <description>Name gun:close - Brutally close the connection
+Description close(ConnPid) -&amp;gt; ok ConnPid :: pid() Brutally close the connection.
+Arguments ConnPid The pid of the Gun connection process.
+ Return value The atom ok is returned.
+Changelog 1.0: Function introduced. Examples Close the connection ok = gun:close(ConnPid). See also gun(3), gun:open(3), gun:open_unix(3)</description>
+ </item>
+
+ <item>
+ <title>gun:connect(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.connect/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.connect/</guid>
+ <description>Name gun:connect - Establish a tunnel to the origin server
+Description connect(ConnPid, Destination) -&amp;gt; connect(ConnPid, Destination, [], #{}). connect(ConnPid, Destination, Headers) -&amp;gt; connect(ConnPid, Destination, Headers, #{}). connect(ConnPid, Destination, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Destination :: gun:connect_destination() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Establish a tunnel to the origin server.
+This feature is currently only available for HTTP/1.1 connections. Upon successful completion of the CONNECT request a tunnel is established and subsequent requests will go through the tunnel.</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>
@@ -7524,6 +7745,18 @@ All calls to this function must use the nofin flag except for the last which mus
</item>
<item>
+ <title>gun:data(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.data/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.data/</guid>
+ <description>Name gun:data - Stream the body of a request
+Description data(ConnPid, StreamRef, IsFin, Data) -&amp;gt; ok ConnPid :: pid() StreamRef :: reference() IsFin :: fin | nofin Data :: iodata() Stream the body of a request.
+This function can only be used if the original request had headers indicating that a body would be streamed.
+All calls to this function must use the nofin flag except for the last which must use fin to indicate the end of the request body.</description>
+ </item>
+
+ <item>
<title>gun:delete(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.delete/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7552,6 +7785,20 @@ Arguments ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun:delete(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.delete/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.delete/</guid>
+ <description>Name gun:delete - Delete a resource
+Description delete(ConnPid, Path) -&amp;gt; delete(ConnPid, Path, [], #{}). delete(ConnPid, Path, Headers) -&amp;gt; delete(ConnPid, Path, Headers, #{}) delete(ConnPid, Path, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Delete a resource.
+Arguments ConnPid The pid of the Gun connection process.
+ Path Path to the resource.
+ Headers Additional request headers.
+ ReqOpts Request options.</description>
+ </item>
+
+ <item>
<title>gun:flush(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.flush/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7580,6 +7827,20 @@ ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun:flush(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.flush/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.flush/</guid>
+ <description>Name gun:flush - Flush all messages related to a connection or a stream
+Description flush(ConnPid) -&amp;gt; ok flush(StreamRef) -&amp;gt; ok ConnPid :: pid() StreamRef :: reference() Flush all messages related to a connection or a stream.
+Arguments Either of these arguments may be provided:
+ConnPid The pid of the Gun connection process.
+ StreamRef Identifier of the stream for the original request.
+ Return value The atom ok is returned.</description>
+ </item>
+
+ <item>
<title>gun:get(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.get/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7606,6 +7867,19 @@ Arguments ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun:get(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.get/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.get/</guid>
+ <description>Name gun:get - Get a resource representation
+Description get(ConnPid, Path) -&amp;gt; get(ConnPid, Path, [], #{}). get(ConnPid, Path, Headers) -&amp;gt; get(ConnPid, Path, Headers, #{}) get(ConnPid, Path, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Get a resource representation.
+Arguments ConnPid The pid of the Gun connection process.
+ Path Path to the resource.
+ Headers Additional request headers.</description>
+ </item>
+
+ <item>
<title>gun:head(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.head/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7628,6 +7902,17 @@ This function performs the same operation as gun:get(3), except the server will
</item>
<item>
+ <title>gun:head(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.head/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.head/</guid>
+ <description>Name gun:head - Get headers of a resource representation
+Description head(ConnPid, Path) -&amp;gt; head(ConnPid, Path, [], #{}). head(ConnPid, Path, Headers) -&amp;gt; head(ConnPid, Path, Headers, #{}) head(ConnPid, Path, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Get headers of a resource representation.
+This function performs the same operation as gun:get(3), except the server will not send the resource representation, only the response&amp;apos;s status code and headers.</description>
+ </item>
+
+ <item>
<title>gun:info(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.info/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7654,6 +7939,19 @@ Changelog 1.0: Function introduced. Examples Obtain information about the conn
</item>
<item>
+ <title>gun:info(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.info/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.info/</guid>
+ <description>Name gun:info - Obtain information about the connection
+Description info(ConnPid) -&amp;gt; Info ConnPid :: pid() Info :: #{ sock_ip =&amp;gt; inet:ip_address(), sock_port =&amp;gt; inet:port_number() } Obtain information about the connection.
+Arguments ConnPid The pid of the Gun connection process.
+ Return value A map is returned containing various informations about the connection.
+Changelog 1.0: Function introduced. Examples Obtain information about the connection Info = gun:info(ConnPid). See also gun(3), gun:open(3), gun:open_unix(3)</description>
+ </item>
+
+ <item>
<title>gun:open(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.open/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7680,6 +7978,19 @@ Arguments Host Host or IP address to connect to.
</item>
<item>
+ <title>gun:open(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open/</guid>
+ <description>Name gun:open - Open a connection to the given host and port
+Description open(Host, Port) -&amp;gt; open(Host, Port, #{}) open(Host, Port, Opts) -&amp;gt; {ok, pid()} | {error, any()} Host :: inet:hostname() | inet:ip_address() Port :: inet:port_number() Opts :: gun:opts() Open a connection to the given host and port.
+Arguments Host Host or IP address to connect to.
+ Port Port to connect to.
+ Opts Options for this connection.</description>
+ </item>
+
+ <item>
<title>gun:open_unix(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.open_unix/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7706,6 +8017,19 @@ Arguments SocketPath Path to the Unix domain socket to connect to.
</item>
<item>
+ <title>gun:open_unix(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open_unix/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open_unix/</guid>
+ <description>Name gun:open_unix - Open a connection to the given Unix domain socket
+Description open_unix(SocketPath, Opts) -&amp;gt; {ok, pid()} | {error, any()} SocketPath :: string() Opts :: gun:opts() Open a connection to the given Unix domain socket.
+Arguments SocketPath Path to the Unix domain socket to connect to.
+ Opts Options for this connection.
+ Return value The pid of the newly created Gun process is returned. Note that this does not indicate that the connection has been successfully opened; the gun_up(3) message will be sent for that.</description>
+ </item>
+
+ <item>
<title>gun:options(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.options/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7728,6 +8052,17 @@ The special path &amp;quot;*&amp;quot; can be used to obtain information about t
</item>
<item>
+ <title>gun:options(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.options/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.options/</guid>
+ <description>Name gun:options - Query the capabilities of the server or a resource
+Description options(ConnPid, Path) -&amp;gt; options(ConnPid, Path, [], #{}). options(ConnPid, Path, Headers) -&amp;gt; options(ConnPid, Path, Headers, #{}) options(ConnPid, Path, Headers, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] ReqOpts :: gun:req_opts() StreamRef :: reference() Query the capabilities of the server or a resource.
+The special path &amp;quot;*&amp;quot; can be used to obtain information about the server as a whole.</description>
+ </item>
+
+ <item>
<title>gun:patch(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.patch/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7750,6 +8085,17 @@ The behavior of this function varies depending on whether a body is provided.</d
</item>
<item>
+ <title>gun:patch(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.patch/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.patch/</guid>
+ <description>Name gun:patch - Apply a set of changes to a resource
+Description patch(ConnPid, Path, Headers) -&amp;gt; StreamRef patch(ConnPid, Path, Headers, Body) -&amp;gt; patch(ConnPid, Path, Headers, Body, #{}) patch(ConnPid, Path, Headers, Body, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] Body :: iodata() ReqOpts :: gun:req_opts() StreamRef :: reference() Apply a set of changes to a resource.
+The behavior of this function varies depending on whether a body is provided.</description>
+ </item>
+
+ <item>
<title>gun:post(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.post/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7772,6 +8118,17 @@ The behavior of this function varies depending on whether a body is provided.</d
</item>
<item>
+ <title>gun:post(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.post/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.post/</guid>
+ <description>Name gun:post - Process the enclosed representation according to a resource&amp;apos;s own semantics
+Description post(ConnPid, Path, Headers) -&amp;gt; StreamRef post(ConnPid, Path, Headers, Body) -&amp;gt; post(ConnPid, Path, Headers, Body, #{}) post(ConnPid, Path, Headers, Body, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] Body :: iodata() ReqOpts :: gun:req_opts() StreamRef :: reference() Process the enclosed representation according to a resource&amp;apos;s own semantics.
+The behavior of this function varies depending on whether a body is provided.</description>
+ </item>
+
+ <item>
<title>gun:put(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.put/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7796,6 +8153,18 @@ The function put/3 expects either a content-length or content-type header to ind
</item>
<item>
+ <title>gun:put(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.put/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.put/</guid>
+ <description>Name gun:put - Create or replace a resource
+Description put(ConnPid, Path, Headers) -&amp;gt; StreamRef put(ConnPid, Path, Headers, Body) -&amp;gt; put(ConnPid, Path, Headers, Body, #{}) put(ConnPid, Path, Headers, Body, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] Body :: iodata() ReqOpts :: gun:req_opts() StreamRef :: reference() Create or replace a resource.
+The behavior of this function varies depending on whether a body is provided.
+The function put/3 expects either a content-length or content-type header to indicate that a body will be sent afterwards.</description>
+ </item>
+
+ <item>
<title>gun:request(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.request/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7818,6 +8187,17 @@ This is a general purpose function that should only be used when other method-sp
</item>
<item>
+ <title>gun:request(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.request/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.request/</guid>
+ <description>Name gun:request - Perform the given request
+Description request(ConnPid, Method, Path, Headers) -&amp;gt; StreamRef request(ConnPid, Method, Path, Headers, Body) -&amp;gt; request(ConnPid, Method, Path, Headers, Body, #{}) request(ConnPid, Method, Path, Headers, Body, ReqOpts) -&amp;gt; StreamRef ConnPid :: pid() Method :: binary() Path :: iodata() Headers :: [{binary(), iodata()}] Body :: iodata() ReqOpts :: gun:req_opts() StreamRef :: reference() Perform the given request.
+This is a general purpose function that should only be used when other method-specific functions do not apply.</description>
+ </item>
+
+ <item>
<title>gun:ws_send(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.ws_send/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7844,6 +8224,19 @@ Arguments ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun:ws_send(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_send/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_send/</guid>
+ <description>Name gun:ws_send - Send Websocket frames
+Description ws_send(ConnPid, Frames) -&amp;gt; ok ConnPid :: pid() Frames :: Frame | [Frame] Frame :: close | ping | pong | {text | binary | close | ping | pong, iodata()} | {close, non_neg_integer(), iodata()} Send Websocket frames.
+The connection must first be upgraded to Websocket using the function gun:ws_upgrade(3).
+Arguments ConnPid The pid of the Gun connection process.
+ Frames A Websocket frame.</description>
+ </item>
+
+ <item>
<title>gun:ws_upgrade(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun.ws_upgrade/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7868,6 +8261,18 @@ HTTP/1.1 cannot handle Websocket and HTTP requests concurrently. The upgrade, if
</item>
<item>
+ <title>gun:ws_upgrade(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_upgrade/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_upgrade/</guid>
+ <description>Name gun:ws_upgrade - Upgrade to Websocket
+Description ws_upgrade(ConnPid, Path) -&amp;gt; ws_upgrade(ConnPid, Path, []) ws_upgrade(ConnPid, Path, Headers) -&amp;gt; StreamRef ws_upgrade(ConnPid, Path, Headers, WsOpts) -&amp;gt; StreamRef ConnPid :: pid() Path :: iodata() Headers :: [{binary(), iodata()}] WsOpts :: gun:ws_opts StreamRef :: reference() Upgrade to Websocket.
+The behavior of this function depends on the protocol selected.
+HTTP/1.1 cannot handle Websocket and HTTP requests concurrently. The upgrade, if successful, will result in the complete takeover of the connection.</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>
@@ -7894,6 +8299,19 @@ The response body may be terminated either by a data message with the flag fin s
</item>
<item>
+ <title>gun_data(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_data/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_data/</guid>
+ <description>Name gun_data - Response body
+Description {gun_data, ConnPid, StreamRef, IsFin, Data} ConnPid :: pid() StreamRef :: reference() IsFin :: fin | nofin Data :: binary() Response body.
+This message informs the relevant process that the server sent a all or part of the body for the response to the original request.
+A data message is always preceded by a response message.
+The response body may be terminated either by a data message with the flag fin set or by a gun_trailers(3) message.</description>
+ </item>
+
+ <item>
<title>gun_down(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_down/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7918,6 +8336,18 @@ When the connection goes back up, Gun will not attempt to retry requests.</descr
</item>
<item>
+ <title>gun_down(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_down/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_down/</guid>
+ <description>Name gun_down - The connection is down
+Description {gun_down, ConnPid, Protocol, Reason, KilledStreams, UnprocessedStreams} ConnPid :: pid() Protocol :: http | http2 | ws Reason :: any() KilledStreams :: [reference()] UnprocessedStreams :: [reference()] The connection is down.
+This message informs the owner process that the connection was lost. Depending on the retry and retry_timeout options Gun may automatically attempt to reconnect.
+When the connection goes back up, Gun will not attempt to retry requests.</description>
+ </item>
+
+ <item>
<title>gun_error(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_error/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7940,6 +8370,17 @@ These messages inform the relevant process that an error occurred. A reference i
</item>
<item>
+ <title>gun_error(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_error/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_error/</guid>
+ <description>Name gun_error - Stream or connection-wide error
+Description {gun_error, ConnPid, StreamRef, Reason} {gun_error, ConnPid, Reason} ConnPid :: pid() StreamRef :: reference() Reason :: any() Stream or connection-wide error.
+These messages inform the relevant process that an error occurred. A reference is given when the error pertains to a specific stream. Connection-wide errors do not imply that the connection is no longer usable, they are used for all errors that are not specific to a stream.</description>
+ </item>
+
+ <item>
<title>gun_inform(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_inform/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7964,6 +8405,18 @@ Informational responses are only intermediate responses and provide no guarantee
</item>
<item>
+ <title>gun_inform(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_inform/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_inform/</guid>
+ <description>Name gun_inform - Informational response
+Description {gun_inform, ConnPid, StreamRef, Status, Headers} ConnPid :: pid() StreamRef :: reference() Status :: 100..199 Headers :: [{binary(), binary()}] Informational response.
+This message informs the relevant process that the server sent an informational response to the original request.
+Informational responses are only intermediate responses and provide no guarantees as to what the final response will be. An informational response always precedes the response to the original request.</description>
+ </item>
+
+ <item>
<title>gun_push(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_push/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -7988,6 +8441,18 @@ A server-initiated push message always precedes the response to the original req
</item>
<item>
+ <title>gun_push(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_push/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_push/</guid>
+ <description>Name gun_push - Server-initiated push
+Description {gun_push, ConnPid, StreamRef, NewStreamRef, Method, URI, Headers} ConnPid :: pid() StreamRef :: reference() NewStreamRef :: reference() Method :: binary() URI :: binary() Headers :: [{binary(), binary()}] Server-initiated push.
+This message informs the relevant process that the server is pushing a resource related to the effective target URI of the original request.
+A server-initiated push message always precedes the response to the original request.</description>
+ </item>
+
+ <item>
<title>gun_response(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_response/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -8016,6 +8481,20 @@ Elements ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun_response(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_response/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_response/</guid>
+ <description>Name gun_response - Response
+Description {gun_response, ConnPid, StreamRef, IsFin, Status, Headers} ConnPid :: pid() StreamRef :: reference() IsFin :: fin | nofin Status :: non_neg_integer() Headers :: [{binary(), binary()}] Response.
+This message informs the relevant process that the server sent a response to the original request.
+Elements ConnPid The pid of the Gun connection process.
+ StreamRef Identifier of the stream for the original request.
+ IsFin Whether this message terminates the response.</description>
+ </item>
+
+ <item>
<title>gun_trailers(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_trailers/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -8046,6 +8525,21 @@ Elements ConnPid The pid of the Gun connection process.
</item>
<item>
+ <title>gun_trailers(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_trailers/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_trailers/</guid>
+ <description>Name gun_trailers - Response trailers
+Description {gun_trailers, ConnPid, StreamRef, Headers} ConnPid :: pid() StreamRef :: reference() Headers :: [{binary(), binary()}] Response trailers.
+This message informs the relevant process that the server sent response trailers for the response to the original request.
+A trailers message terminates the response.
+Elements ConnPid The pid of the Gun connection process.
+ StreamRef Identifier of the stream for the original request.
+ Headers Trailing headers sent after the response body.</description>
+ </item>
+
+ <item>
<title>gun_up(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_up/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -8070,6 +8564,18 @@ Gun will now start processing the messages it received while waiting for the con
</item>
<item>
+ <title>gun_up(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_up/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_up/</guid>
+ <description>Name gun_up - The connection is up
+Description {gun_up, ConnPid, Protocol} ConnPid :: pid() Protocol :: http | http2 The connection is up.
+This message informs the owner process that the connection or reconnection completed.
+Gun will now start processing the messages it received while waiting for the connection to be up. If this is a reconnection, then this may not be desirable for all requests. Those requests should be cancelled when the connection goes down, and any subsequent messages ignored.</description>
+ </item>
+
+ <item>
<title>gun_upgrade(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_upgrade/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -8094,6 +8600,18 @@ The exact semantics of this message depend on the original protocol. HTTP/1.1 up
</item>
<item>
+ <title>gun_upgrade(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_upgrade/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_upgrade/</guid>
+ <description>Name gun_upgrade - Successful protocol upgrade
+Description {gun_upgrade, ConnPid, StreamRef, Protocols, Headers} ConnPid :: pid() StreamRef :: reference() Protocols :: [&amp;lt;&amp;lt;&#34;websocket&#34;&amp;gt;&amp;gt;] Headers :: [{binary(), binary()}] Successful protocol upgrade.
+This message informs the relevant process that the server accepted to upgrade to one or more protocols given in the original request.
+The exact semantics of this message depend on the original protocol. HTTP/1.1 upgrades apply to the entire connection. HTTP/2 uses a different mechanism which allows switching specific streams to a different protocol.</description>
+ </item>
+
+ <item>
<title>gun_ws(3)</title>
<link>https://ninenines.eu/docs/en/gun/1.0/manual/gun_ws/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
@@ -8120,6 +8638,19 @@ Elements ConnPid The pid of the Gun connection process.</description>
</item>
<item>
+ <title>gun_ws(3)</title>
+ <link>https://ninenines.eu/docs/en/gun/1.2/manual/gun_ws/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>https://ninenines.eu/docs/en/gun/1.2/manual/gun_ws/</guid>
+ <description>Name gun_ws - Websocket frame
+Description {gun_ws, ConnPid, StreamRef, Frame} ConnPid :: pid() StreamRef :: reference() Frame :: close | {text | binary | close, binary()} | {close, non_neg_integer(), binary()} Websocket frame.
+This message informs the relevant process that the server sent the enclosed frame.
+This message can only be sent on streams that were upgraded to the Websocket protocol.
+Elements ConnPid The pid of the Gun connection process.</description>
+ </item>
+
+ <item>
<title>ranch(3)</title>
<link>https://ninenines.eu/docs/en/ranch/1.2/manual/ranch/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
diff --git a/services/index.html b/services/index.html
index 9a5ecd1e..274fb480 100644
--- a/services/index.html
+++ b/services/index.html
@@ -602,6 +602,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<h3 id="_like_my_work__donate">Like my work? Donate!</h3>
<p>Donate to Loïc Hoguin because his work on Cowboy and Erlang.mk is fantastic:</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="display:inline">
@@ -1592,6 +1610,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
</div>
</div>
</div>
diff --git a/sitemap.xml b/sitemap.xml
index 8d889480..5210c4da 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -15,6 +15,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/introduction/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/ranch/1.2/guide/introduction/</loc>
</url>
@@ -107,6 +111,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/start/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/guide/protocols/</loc>
</url>
@@ -115,6 +123,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/protocols/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/cowboy/2.0/guide/introduction/</loc>
</url>
@@ -167,6 +179,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/connect/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/ranch/1.2/guide/protocols/</loc>
</url>
@@ -219,6 +235,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/http/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/ranch/1.2/guide/embedded/</loc>
</url>
@@ -271,6 +291,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/websocket/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/ranch/1.2/guide/parsers/</loc>
</url>
@@ -299,6 +323,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.1/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/cowboy/2.0/guide/listeners/</loc>
</url>
@@ -387,6 +415,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/migrating_from_1.0/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/cowboy/2.0/guide/constraints/</loc>
</url>
@@ -911,6 +943,11 @@
</url>
<url>
+ <loc>https://ninenines.eu/articles/gun-1.2.0/</loc>
+ <lastmod>2018-09-17T10:00:00+01:00</lastmod>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/articles/ranch-1.6.0/</loc>
<lastmod>2018-08-01T10:00:00+01:00</lastmod>
</url>
@@ -1107,7 +1144,7 @@
<url>
<loc>https://ninenines.eu/articles/</loc>
- <lastmod>2018-08-01T10:00:00+01:00</lastmod>
+ <lastmod>2018-09-17T10:00:00+01:00</lastmod>
<priority>0</priority>
</url>
@@ -1174,6 +1211,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/guide/</loc>
</url>
@@ -1182,6 +1223,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/guide/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/cowboy/2.0/manual/http_status_codes/</loc>
</url>
@@ -1203,7 +1248,7 @@
<url>
<loc>https://ninenines.eu/</loc>
- <lastmod>2018-08-01T10:00:00+01:00</lastmod>
+ <lastmod>2018-09-17T10:00:00+01:00</lastmod>
<priority>0</priority>
</url>
@@ -2541,6 +2586,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_app/</loc>
</url>
@@ -2549,6 +2598,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_app/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await/</loc>
</url>
@@ -2557,6 +2610,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await_body/</loc>
</url>
@@ -2565,6 +2622,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_body/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.await_up/</loc>
</url>
@@ -2573,6 +2634,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.await_up/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.cancel/</loc>
</url>
@@ -2581,6 +2646,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.cancel/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.close/</loc>
</url>
@@ -2589,6 +2658,14 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.close/</loc>
+ </url>
+
+ <url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.connect/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.data/</loc>
</url>
@@ -2597,6 +2674,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.data/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.delete/</loc>
</url>
@@ -2605,6 +2686,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.delete/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.flush/</loc>
</url>
@@ -2613,6 +2698,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.flush/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.get/</loc>
</url>
@@ -2621,6 +2710,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.get/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.head/</loc>
</url>
@@ -2629,6 +2722,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.head/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.info/</loc>
</url>
@@ -2637,6 +2734,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.info/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.open/</loc>
</url>
@@ -2645,6 +2746,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.open_unix/</loc>
</url>
@@ -2653,6 +2758,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.open_unix/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.options/</loc>
</url>
@@ -2661,6 +2770,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.options/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.patch/</loc>
</url>
@@ -2669,6 +2782,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.patch/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.post/</loc>
</url>
@@ -2677,6 +2794,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.post/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.put/</loc>
</url>
@@ -2685,6 +2806,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.put/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.request/</loc>
</url>
@@ -2693,6 +2818,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.request/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.ws_send/</loc>
</url>
@@ -2701,6 +2830,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_send/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun.ws_upgrade/</loc>
</url>
@@ -2709,6 +2842,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun.ws_upgrade/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_data/</loc>
</url>
@@ -2717,6 +2854,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_data/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_down/</loc>
</url>
@@ -2725,6 +2866,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_down/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_error/</loc>
</url>
@@ -2733,6 +2878,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_error/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_inform/</loc>
</url>
@@ -2741,6 +2890,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_inform/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_push/</loc>
</url>
@@ -2749,6 +2902,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_push/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_response/</loc>
</url>
@@ -2757,6 +2914,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_response/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_trailers/</loc>
</url>
@@ -2765,6 +2926,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_trailers/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_up/</loc>
</url>
@@ -2773,6 +2938,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_up/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_upgrade/</loc>
</url>
@@ -2781,6 +2950,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_upgrade/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/gun/1.0/manual/gun_ws/</loc>
</url>
@@ -2789,6 +2962,10 @@
</url>
<url>
+ <loc>https://ninenines.eu/docs/en/gun/1.2/manual/gun_ws/</loc>
+ </url>
+
+ <url>
<loc>https://ninenines.eu/docs/en/ranch/1.2/manual/ranch/</loc>
</url>