diff options
author | Loïc Hoguin <[email protected]> | 2017-12-13 17:28:18 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2017-12-13 17:28:18 +0100 |
commit | 10e70ed2d18e174b57778cc354978dbe742a5320 (patch) | |
tree | f93694db0ab5c664b4511ffaaf9507b8139bf83b | |
parent | 73f7713f7138b8e3a80122e6b7d446e8ef3bbb39 (diff) | |
download | ninenines.eu-10e70ed2d18e174b57778cc354978dbe742a5320.tar.gz ninenines.eu-10e70ed2d18e174b57778cc354978dbe742a5320.tar.bz2 ninenines.eu-10e70ed2d18e174b57778cc354978dbe742a5320.zip |
Cowboy 2.2.0
41 files changed, 523 insertions, 29 deletions
diff --git a/_build/content/articles/cowboy-2.1.0.asciidoc b/_build/content/articles/cowboy-2.1.0.asciidoc index a9ccd849..e60a9ca7 100644 --- a/_build/content/articles/cowboy-2.1.0.asciidoc +++ b/_build/content/articles/cowboy-2.1.0.asciidoc @@ -30,9 +30,6 @@ https://ninenines.eu/docs/en/cowboy/2.1/guide/migrating_from_2.0/[Migrating from The next release will see the added support for trailers, which are necessary for implementing the gRPC protocol. -Feeling good about this release? Send money one-time -or monthly via - You can donate to this project via https://salt.bountysource.com/teams/ninenines[BountySource] because I need to eat snacks when I write code. diff --git a/_build/content/articles/cowboy-2.2.0.asciidoc b/_build/content/articles/cowboy-2.2.0.asciidoc new file mode 100644 index 00000000..9e0c3b60 --- /dev/null +++ b/_build/content/articles/cowboy-2.2.0.asciidoc @@ -0,0 +1,43 @@ ++++ +date = "2017-12-13T12:00:00+01:00" +title = "Cowboy 2.2" + ++++ + +Cowboy `2.2.0` has been released! + +This release focused on adding features required for writing +gRPC servers and on completing test suites for the core +HTTP RFCs. + +* The `cowboy_req:stream_trailers/2` function has been + added. It terminates the streamed response by adding + some trailer field values. This feature is required + for gRPC. + +* The `max_skip_body_length` option was added. It controls + how much of the request body we are willing to skip + to get to the next request for HTTP/1.1 keep-alive + connections. + +* The CONNECT and TRACE methods have been disabled + entirely. They are currently not implemented and + their behavior is very specific (unlike most other + methods) so it is safer to prevent their use. + +Many bugs have also been fixed. A more complete +list of changes can be found in the migration guide: +https://ninenines.eu/docs/en/cowboy/2.1/guide/migrating_from_2.0/[Migrating from Cowboy 2.0 to 2.1]. + +The next two releases will tentatively focus on improving +the support for cookies and CORS, but I'm open to suggestions. +If there is a pain point in Cowboy 2.2 I would love to hear +about it. + +You can donate to this project via +https://salt.bountysource.com/teams/ninenines[BountySource] +because I need to eat snacks when I write code. +Thanks in advance! + +As usual, any feedback is appreciated, and any issues +should be reported by opening a ticket. Thanks! diff --git a/articles/cowboy-2.0.0-pre.4/index.html b/articles/cowboy-2.0.0-pre.4/index.html index 23888a05..91bc32e4 100644 --- a/articles/cowboy-2.0.0-pre.4/index.html +++ b/articles/cowboy-2.0.0-pre.4/index.html @@ -193,6 +193,10 @@ added back.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/cowboy-2.0.0-rc.1/index.html b/articles/cowboy-2.0.0-rc.1/index.html index 2dfc5025..c133b571 100644 --- a/articles/cowboy-2.0.0-rc.1/index.html +++ b/articles/cowboy-2.0.0-rc.1/index.html @@ -139,6 +139,10 @@ purposes of testing.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/cowboy-2.0.0-rc.2/index.html b/articles/cowboy-2.0.0-rc.2/index.html index daccb31a..a90386da 100644 --- a/articles/cowboy-2.0.0-rc.2/index.html +++ b/articles/cowboy-2.0.0-rc.2/index.html @@ -118,6 +118,10 @@ before 2.0.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/cowboy-2.0.0/index.html b/articles/cowboy-2.0.0/index.html index 4acfa976..d69e4e88 100644 --- a/articles/cowboy-2.0.0/index.html +++ b/articles/cowboy-2.0.0/index.html @@ -131,6 +131,10 @@ should be reported by opening a ticket. Thanks!</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/cowboy-2.1.0/index.html b/articles/cowboy-2.1.0/index.html index 4e65777b..f8dd3008 100644 --- a/articles/cowboy-2.1.0/index.html +++ b/articles/cowboy-2.1.0/index.html @@ -110,8 +110,6 @@ list of changes can be found in the migration guide: <a href="https://ninenines.eu/docs/en/cowboy/2.1/guide/migrating_from_2.0/">Migrating from Cowboy 2.0 to 2.1</a>.</p></div> <div class="paragraph"><p>The next release will see the added support for trailers, which are necessary for implementing the gRPC protocol.</p></div> -<div class="paragraph"><p>Feeling good about this release? Send money one-time -or monthly via</p></div> <div class="paragraph"><p>You can donate to this project via <a href="https://salt.bountysource.com/teams/ninenines">BountySource</a> because I need to eat snacks when I write code. @@ -127,6 +125,10 @@ should be reported by opening a ticket. Thanks!</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/cowboy-2.2.0/index.html b/articles/cowboy-2.2.0/index.html new file mode 100644 index 00000000..03916377 --- /dev/null +++ b/articles/cowboy-2.2.0/index.html @@ -0,0 +1,277 @@ +<!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"> + + <meta name="generator" content="Hugo 0.30.2" /> + + <title>Nine Nines: Cowboy 2.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=1" 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="Keep in touch!" href="http://twitter.com/lhoguin"><img src="/img/ico_microblog.png" data-hover="/img/ico_microblog_alt.png"></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>Cowboy 2.2</span></h1> + <p class="date"> + <span class="day">13</span> + <span class="month">Dec</span> + </p> +</header> + +<div class="paragraph"><p>Cowboy <code>2.2.0</code> has been released!</p></div> +<div class="paragraph"><p>This release focused on adding features required for writing +gRPC servers and on completing test suites for the core +HTTP RFCs.</p></div> +<div class="ulist"><ul> +<li> +<p> +The <code>cowboy_req:stream_trailers/2</code> function has been + added. It terminates the streamed response by adding + some trailer field values. This feature is required + for gRPC. +</p> +</li> +<li> +<p> +The <code>max_skip_body_length</code> option was added. It controls + how much of the request body we are willing to skip + to get to the next request for HTTP/1.1 keep-alive + connections. +</p> +</li> +<li> +<p> +The CONNECT and TRACE methods have been disabled + entirely. They are currently not implemented and + their behavior is very specific (unlike most other + methods) so it is safer to prevent their use. +</p> +</li> +</ul></div> +<div class="paragraph"><p>Many bugs have also been fixed. A more complete +list of changes can be found in the migration guide: +<a href="https://ninenines.eu/docs/en/cowboy/2.1/guide/migrating_from_2.0/">Migrating from Cowboy 2.0 to 2.1</a>.</p></div> +<div class="paragraph"><p>The next two releases will tentatively focus on improving +the support for cookies and CORS, but I’m open to suggestions. +If there is a pain point in Cowboy 2.2 I would love to hear +about it.</p></div> +<div class="paragraph"><p>You can donate to this project via +<a href="https://salt.bountysource.com/teams/ninenines">BountySource</a> +because I need to eat snacks when I write code. +Thanks in advance!</p></div> +<div class="paragraph"><p>As usual, any feedback is appreciated, and any issues +should be reported by opening a ticket. Thanks!</p></div> + +</article> +</div> + +<div class="span3 sidecol"> +<h3>More articles</h3> +<ul id="articles-nav" class="extra_margin"> + + + <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'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 © Loïc Hoguin 2012-2016</p> + </div> + </div> + </div> + </footer> + + + <script src="/js/custom.js"></script> + </body> +</html> + diff --git a/articles/cowboy2-qs/index.html b/articles/cowboy2-qs/index.html index 72bc6ab0..89cbcb4a 100644 --- a/articles/cowboy2-qs/index.html +++ b/articles/cowboy2-qs/index.html @@ -232,6 +232,10 @@ thoughts that went into this rather than just the conclusion.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/dont-let-it-crash/index.html b/articles/dont-let-it-crash/index.html index 87e2f527..48458920 100644 --- a/articles/dont-let-it-crash/index.html +++ b/articles/dont-let-it-crash/index.html @@ -195,6 +195,10 @@ make more.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/erlang-scalability/index.html b/articles/erlang-scalability/index.html index d5abef81..acbf44e9 100644 --- a/articles/erlang-scalability/index.html +++ b/articles/erlang-scalability/index.html @@ -217,6 +217,10 @@ concurrently.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/erlang-validate-utf8/index.html b/articles/erlang-validate-utf8/index.html index b73fd24c..f8efb617 100644 --- a/articles/erlang-validate-utf8/index.html +++ b/articles/erlang-validate-utf8/index.html @@ -268,6 +268,10 @@ http://www.gnu.org/software/src-highlite --> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/erlang.mk-and-relx/index.html b/articles/erlang.mk-and-relx/index.html index d1a7f9b6..edc48e3e 100644 --- a/articles/erlang.mk-and-relx/index.html +++ b/articles/erlang.mk-and-relx/index.html @@ -195,6 +195,10 @@ containing all the flags to pass to the Erlang VM, for example <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/erlanger-playbook-september-2015-update/index.html b/articles/erlanger-playbook-september-2015-update/index.html index cbcccbc3..71190ec0 100644 --- a/articles/erlanger-playbook-september-2015-update/index.html +++ b/articles/erlanger-playbook-september-2015-update/index.html @@ -96,6 +96,10 @@ will be used to allow me to work on open source full time.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/erlanger-playbook/index.html b/articles/erlanger-playbook/index.html index c0d96c50..5377a88e 100644 --- a/articles/erlanger-playbook/index.html +++ b/articles/erlanger-playbook/index.html @@ -164,6 +164,10 @@ You will receive updates to the book for free as soon as they are available.</p> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/farwest-funded/index.html b/articles/farwest-funded/index.html index 8b9bc370..a99d6a9c 100644 --- a/articles/farwest-funded/index.html +++ b/articles/farwest-funded/index.html @@ -104,6 +104,10 @@ can help!</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/index.html b/articles/index.html index eb1e2c27..fb619d3d 100644 --- a/articles/index.html +++ b/articles/index.html @@ -72,6 +72,24 @@ <article class="blog_item"> <header> + <h2><a href="https://ninenines.eu/articles/cowboy-2.2.0/">Cowboy 2.2</a></h2> + <p class="date"> + <span class="day">13</span> + <span class="month">Dec</span> + </p> + </header> + + <p>Cowboy 2.2.0 has been released! + This release focused on adding features required for writing gRPC servers and on completing test suites for the core HTTP RFCs. + The cowboy_req:stream_trailers/2 function has been added. It terminates the streamed response by adding some trailer field values. This feature is required for gRPC. The max_skip_body_length option was added. It controls how much of the request body we are willing to skip to get to the next request for HTTP/1.</p> + + <p style="text-align:right"> + <a class="read_more" href="https://ninenines.eu/articles/cowboy-2.2.0/">Read More</a> + </p> + </article> + + <article class="blog_item"> + <header> <h2><a href="https://ninenines.eu/articles/cowboy-2.1.0/">Cowboy 2.1</a></h2> <p class="date"> <span class="day">09</span> @@ -411,24 +429,6 @@ </p> </article> - <article class="blog_item"> - <header> - <h2><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></h2> - <p class="date"> - <span class="day">25</span> - <span class="month">Mar</span> - </p> - </header> - - <p>Today we will start the work on the intermediate module that will be used to run the code for the expressions found in our file’s body, replacing our interpreter. - This is what we want to have when all the work is done: - xerl -> tokens -> AST -> intermediate -> cerl Today we will perform this work only on the atomic integer expression however, so we will not build any module at the end.</p> - - <p style="text-align:right"> - <a class="read_more" href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Read More</a> - </p> - </article> - <nav class="pagination" role="pagination"> diff --git a/articles/index.xml b/articles/index.xml index 0efba687..46b57f8c 100644 --- a/articles/index.xml +++ b/articles/index.xml @@ -6,12 +6,23 @@ <description>Recent content in Articles on Nine Nines</description> <generator>Hugo -- gohugo.io</generator> <language>en-us</language> - <lastBuildDate>Thu, 09 Nov 2017 12:00:00 +0100</lastBuildDate> + <lastBuildDate>Wed, 13 Dec 2017 12:00:00 +0100</lastBuildDate> <atom:link href="https://ninenines.eu/articles/index.xml" rel="self" type="application/rss+xml" /> <item> + <title>Cowboy 2.2</title> + <link>https://ninenines.eu/articles/cowboy-2.2.0/</link> + <pubDate>Wed, 13 Dec 2017 12:00:00 +0100</pubDate> + + <guid>https://ninenines.eu/articles/cowboy-2.2.0/</guid> + <description>Cowboy 2.2.0 has been released! + This release focused on adding features required for writing gRPC servers and on completing test suites for the core HTTP RFCs. + The cowboy_req:stream_trailers/2 function has been added. It terminates the streamed response by adding some trailer field values. This feature is required for gRPC. The max_skip_body_length option was added. It controls how much of the request body we are willing to skip to get to the next request for HTTP/1.</description> + </item> + + <item> <title>Cowboy 2.1</title> <link>https://ninenines.eu/articles/cowboy-2.1.0/</link> <pubDate>Thu, 09 Nov 2017 12:00:00 +0100</pubDate> diff --git a/articles/january-2014-status/index.html b/articles/january-2014-status/index.html index 6b09c04b..f1258f9e 100644 --- a/articles/january-2014-status/index.html +++ b/articles/january-2014-status/index.html @@ -223,6 +223,10 @@ the sponsoring idea, anything really! Thanks.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/ml-archives/index.html b/articles/ml-archives/index.html index 78d47d29..ca9bfe89 100644 --- a/articles/ml-archives/index.html +++ b/articles/ml-archives/index.html @@ -93,6 +93,10 @@ underlying problem in the project or its documentation.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/on-open-source/index.html b/articles/on-open-source/index.html index 4195d1fa..dfbb7030 100644 --- a/articles/on-open-source/index.html +++ b/articles/on-open-source/index.html @@ -200,6 +200,10 @@ of your company’s money.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/page/2/index.html b/articles/page/2/index.html index 4097c8bf..b23cb177 100644 --- a/articles/page/2/index.html +++ b/articles/page/2/index.html @@ -72,6 +72,24 @@ <article class="blog_item"> <header> + <h2><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></h2> + <p class="date"> + <span class="day">25</span> + <span class="month">Mar</span> + </p> + </header> + + <p>Today we will start the work on the intermediate module that will be used to run the code for the expressions found in our file’s body, replacing our interpreter. + This is what we want to have when all the work is done: + xerl -> tokens -> AST -> intermediate -> cerl Today we will perform this work only on the atomic integer expression however, so we will not build any module at the end.</p> + + <p style="text-align:right"> + <a class="read_more" href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Read More</a> + </p> + </article> + + <article class="blog_item"> + <header> <h2><a href="https://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></h2> <p class="date"> <span class="day">01</span> diff --git a/articles/ranch-1.3/index.html b/articles/ranch-1.3/index.html index 48b28899..b215f924 100644 --- a/articles/ranch-1.3/index.html +++ b/articles/ranch-1.3/index.html @@ -165,6 +165,10 @@ that need fixing sooner rather than later.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/ranch-ftp/index.html b/articles/ranch-ftp/index.html index 21be3cb0..46b3a9c1 100644 --- a/articles/ranch-ftp/index.html +++ b/articles/ranch-ftp/index.html @@ -293,6 +293,10 @@ binary protocol implementations in just a few lines of code.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/the-elephant-in-the-room/index.html b/articles/the-elephant-in-the-room/index.html index a2153173..ea999b33 100644 --- a/articles/the-elephant-in-the-room/index.html +++ b/articles/the-elephant-in-the-room/index.html @@ -216,6 +216,10 @@ the flaws or the weirdness before they see them.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/the-story-so-far/index.html b/articles/the-story-so-far/index.html index add4c233..60499fed 100644 --- a/articles/the-story-so-far/index.html +++ b/articles/the-story-so-far/index.html @@ -307,6 +307,10 @@ project and make sure it doesn’t happen again.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/tictactoe/index.html b/articles/tictactoe/index.html index bb7b2739..f57e694f 100644 --- a/articles/tictactoe/index.html +++ b/articles/tictactoe/index.html @@ -166,6 +166,10 @@ of writing algorithms to do things.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/website-update/index.html b/articles/website-update/index.html index 1cc1b365..e30abe70 100644 --- a/articles/website-update/index.html +++ b/articles/website-update/index.html @@ -140,6 +140,10 @@ upgrading JS libraries.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/xerl-0.1-empty-modules/index.html b/articles/xerl-0.1-empty-modules/index.html index 03ccc395..ae059e29 100644 --- a/articles/xerl-0.1-empty-modules/index.html +++ b/articles/xerl-0.1-empty-modules/index.html @@ -221,6 +221,10 @@ the next few articles.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/xerl-0.2-two-modules/index.html b/articles/xerl-0.2-two-modules/index.html index 67be4d4e..36a27e5d 100644 --- a/articles/xerl-0.2-two-modules/index.html +++ b/articles/xerl-0.2-two-modules/index.html @@ -226,6 +226,10 @@ though, so let’s get back to it after we add more.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/xerl-0.3-atomic-expressions/index.html b/articles/xerl-0.3-atomic-expressions/index.html index cb52a379..61150219 100644 --- a/articles/xerl-0.3-atomic-expressions/index.html +++ b/articles/xerl-0.3-atomic-expressions/index.html @@ -230,6 +230,10 @@ do that.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/xerl-0.4-expression-separator/index.html b/articles/xerl-0.4-expression-separator/index.html index 8564b88f..23790bac 100644 --- a/articles/xerl-0.4-expression-separator/index.html +++ b/articles/xerl-0.4-expression-separator/index.html @@ -135,6 +135,10 @@ expressions so I thought it was a good idea to anticipate.</p></div> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/articles/xerl-0.5-intermediate-module/index.html b/articles/xerl-0.5-intermediate-module/index.html index 30e0e712..d02a80bf 100644 --- a/articles/xerl-0.5-intermediate-module/index.html +++ b/articles/xerl-0.5-intermediate-module/index.html @@ -213,6 +213,10 @@ http://www.gnu.org/software/src-highlite --> <ul id="articles-nav" class="extra_margin"> + <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> diff --git a/docs/en/cowboy/2.2/guide/getting_started.asciidoc b/docs/en/cowboy/2.2/guide/getting_started.asciidoc index 3f145bb8..39477919 100644 --- a/docs/en/cowboy/2.2/guide/getting_started.asciidoc +++ b/docs/en/cowboy/2.2/guide/getting_started.asciidoc @@ -69,7 +69,7 @@ fetch and compile Cowboy: PROJECT = hello_erlang DEPS = cowboy -dep_cowboy_commit = 2.1.0 +dep_cowboy_commit = 2.2.0 DEP_PLUGINS = cowboy diff --git a/docs/en/cowboy/2.2/guide/getting_started/index.html b/docs/en/cowboy/2.2/guide/getting_started/index.html index 5aaedfee..3b79f2c6 100644 --- a/docs/en/cowboy/2.2/guide/getting_started/index.html +++ b/docs/en/cowboy/2.2/guide/getting_started/index.html @@ -145,7 +145,7 @@ http://www.gnu.org/software/src-highlite --> <pre><tt><span style="color: #009900">PROJECT =</span> hello_erlang <span style="color: #009900">DEPS =</span> cowboy -<span style="color: #009900">dep_cowboy_commit =</span> 2.1.0 +<span style="color: #009900">dep_cowboy_commit =</span> 2.2.0 <span style="color: #009900">DEP_PLUGINS =</span> cowboy diff --git a/docs/en/cowboy/2.2/manual/cowboy_stream/index.html b/docs/en/cowboy/2.2/manual/cowboy_stream/index.html index 639a97fd..1302d76d 100644 --- a/docs/en/cowboy/2.2/manual/cowboy_stream/index.html +++ b/docs/en/cowboy/2.2/manual/cowboy_stream/index.html @@ -148,6 +148,18 @@ from the <code>init/3</code>, <code>data/4</code> and <code>info/3</code> callba the <code>early_error/5</code> callback must return a response command.</p></div> <div class="paragraph"><p>The following commands are defined:</p></div> <div class="sect2"> +<h3 id="inform_command">inform</h3> +<div class="paragraph"><p>Send an informational response to the client.</p></div> +<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>{<span style="color: #FF6600">inform</span>, <span style="font-weight: bold"><span style="color: #000000">cowboy:http_status</span></span>(), <span style="font-weight: bold"><span style="color: #000000">cowboy:http_headers</span></span>()}</tt></pre></div></div> +<div class="paragraph"><p>Any number of informational responses may be sent, +but only until the final response is sent.</p></div> +</div> +<div class="sect2"> <h3 id="response_command">response</h3> <div class="paragraph"><p>Send a response to the client.</p></div> <div class="listingblock"> @@ -311,6 +323,14 @@ http://www.gnu.org/software/src-highlite --> <div class="paragraph"><p>This is the raw exit message without any modification.</p></div> </div> <div class="sect2"> +<h3 id="_inform">inform</h3> +<div class="paragraph"><p>Same as the <a href="../inform_command">inform command</a>.</p></div> +<div class="paragraph"><p>Sent when the request process reads the body and an +expect: 100-continue header was present in the request, +or when the request process sends an informational +response on its own.</p></div> +</div> +<div class="sect2"> <h3 id="_response">response</h3> <div class="paragraph"><p>Same as the <a href="../response_command">response command</a>.</p></div> <div class="paragraph"><p>Usually sent when the request process replies to the client. diff --git a/donate/index.html b/donate/index.html index 8cad32ef..6b2374cf 100644 --- a/donate/index.html +++ b/donate/index.html @@ -391,6 +391,8 @@ and Erlang.mk is fantastic:</p></div> + + <div class="sect2"> <h3 id="_like_my_work_donate">Like my work? Donate!</h3> <div class="paragraph"><p>Donate to Loïc Hoguin because his work on Cowboy @@ -550,6 +550,8 @@ + + <div class="paragraph"><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></div> @@ -6,7 +6,7 @@ <description>Recent content on Nine Nines</description> <generator>Hugo -- gohugo.io</generator> <language>en-us</language> - <lastBuildDate>Thu, 09 Nov 2017 12:00:00 +0100</lastBuildDate> + <lastBuildDate>Wed, 13 Dec 2017 12:00:00 +0100</lastBuildDate> <atom:link href="https://ninenines.eu/index.xml" rel="self" type="application/rss+xml" /> @@ -1525,6 +1525,17 @@ </item> <item> + <title>Cowboy 2.2</title> + <link>https://ninenines.eu/articles/cowboy-2.2.0/</link> + <pubDate>Wed, 13 Dec 2017 12:00:00 +0100</pubDate> + + <guid>https://ninenines.eu/articles/cowboy-2.2.0/</guid> + <description>Cowboy 2.2.0 has been released! + This release focused on adding features required for writing gRPC servers and on completing test suites for the core HTTP RFCs. + The cowboy_req:stream_trailers/2 function has been added. It terminates the streamed response by adding some trailer field values. This feature is required for gRPC. The max_skip_body_length option was added. It controls how much of the request body we are willing to skip to get to the next request for HTTP/1.</description> + </item> + + <item> <title>Cowboy 2.1</title> <link>https://ninenines.eu/articles/cowboy-2.1.0/</link> <pubDate>Thu, 09 Nov 2017 12:00:00 +0100</pubDate> diff --git a/services/index.html b/services/index.html index 99757596..361fcdf0 100644 --- a/services/index.html +++ b/services/index.html @@ -476,6 +476,8 @@ the same restrictions apply.</p></div> + + <div class="sect2"> <h3 id="_like_my_work_donate">Like my work? Donate!</h3> <div class="paragraph"><p>Donate to Loïc Hoguin because his work on Cowboy diff --git a/sitemap.xml b/sitemap.xml index 65e5db5c..37bcdf57 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -555,6 +555,11 @@ </url> <url> + <loc>https://ninenines.eu/articles/cowboy-2.2.0/</loc> + <lastmod>2017-12-13T12:00:00+01:00</lastmod> + </url> + + <url> <loc>https://ninenines.eu/articles/cowboy-2.1.0/</loc> <lastmod>2017-11-09T12:00:00+01:00</lastmod> </url> @@ -716,7 +721,7 @@ <url> <loc>https://ninenines.eu/articles/</loc> - <lastmod>2017-11-09T12:00:00+01:00</lastmod> + <lastmod>2017-12-13T12:00:00+01:00</lastmod> <priority>0</priority> </url> @@ -780,7 +785,7 @@ <url> <loc>https://ninenines.eu/</loc> - <lastmod>2017-11-09T12:00:00+01:00</lastmod> + <lastmod>2017-12-13T12:00:00+01:00</lastmod> <priority>0</priority> </url> |