summaryrefslogtreecommitdiffstats
path: root/articles
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 /articles
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
Diffstat (limited to 'articles')
-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
38 files changed, 454 insertions, 19 deletions
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>