summaryrefslogtreecommitdiffstats
path: root/archives/extend/2013-July
diff options
context:
space:
mode:
Diffstat (limited to 'archives/extend/2013-July')
-rw-r--r--archives/extend/2013-July/000152.html94
-rw-r--r--archives/extend/2013-July/000153.html113
-rw-r--r--archives/extend/2013-July/000154.html93
-rw-r--r--archives/extend/2013-July/000155.html102
-rw-r--r--archives/extend/2013-July/000156.html141
-rw-r--r--archives/extend/2013-July/000157.html161
-rw-r--r--archives/extend/2013-July/000158.html175
-rw-r--r--archives/extend/2013-July/000159.html195
-rw-r--r--archives/extend/2013-July/000160.html196
-rw-r--r--archives/extend/2013-July/000161.html224
-rw-r--r--archives/extend/2013-July/000162.html103
-rw-r--r--archives/extend/2013-July/000163.html118
-rw-r--r--archives/extend/2013-July/000164.html142
-rw-r--r--archives/extend/2013-July/000165.html153
-rw-r--r--archives/extend/2013-July/000166.html162
-rw-r--r--archives/extend/2013-July/000167.html70
-rw-r--r--archives/extend/2013-July/000168.html173
-rw-r--r--archives/extend/2013-July/000169.html195
-rw-r--r--archives/extend/2013-July/000170.html68
-rw-r--r--archives/extend/2013-July/000171.html78
-rw-r--r--archives/extend/2013-July/000172.html85
-rw-r--r--archives/extend/2013-July/000173.html99
-rw-r--r--archives/extend/2013-July/000174.html109
-rw-r--r--archives/extend/2013-July/000175.html119
-rw-r--r--archives/extend/2013-July/author.html167
-rw-r--r--archives/extend/2013-July/date.html167
-rw-r--r--archives/extend/2013-July/index.html211
-rw-r--r--archives/extend/2013-July/subject.html167
-rw-r--r--archives/extend/2013-July/thread.html211
29 files changed, 4091 insertions, 0 deletions
diff --git a/archives/extend/2013-July/000152.html b/archives/extend/2013-July/000152.html
new file mode 100644
index 00000000..81e00afd
--- /dev/null
+++ b/archives/extend/2013-July/000152.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy: http request maximum body size
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%3A%20http%20request%20maximum%20body%20size&In-Reply-To=%3C51DC3646.70207%40llaisdy.com%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+
+ <LINK REL="Next" HREF="000153.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy: http request maximum body size</H1>
+ <B>Ivan Uemlianin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%3A%20http%20request%20maximum%20body%20size&In-Reply-To=%3C51DC3646.70207%40llaisdy.com%3E"
+ TITLE="[99s-extend] Cowboy: http request maximum body size">ivan at llaisdy.com
+ </A><BR>
+ <I>Tue Jul 9 18:11:50 CEST 2013</I>
+ <P><UL>
+
+ <LI>Next message: <A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#152">[ date ]</a>
+ <a href="thread.html#152">[ thread ]</a>
+ <a href="subject.html#152">[ subject ]</a>
+ <a href="author.html#152">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Dear All
+
+ From the source [1], it looks like the default maximum request body
+size is 8 million bytes, but this can be set per request, up to
+infinity. In the latter case there seems to be no upper limit set by
+the server at all, and it will keep reading until some external force
+makes it stop.
+
+That looks handy, if it means I don't have to stipulate a maximum
+request body size (as long as I make sure the machine cowboy is running
+on has a sensible amount of memory).
+
+Is that the case? If not, please correct.
+
+With thanks and best wishes
+
+Ivan
+
+[1] <A HREF="https://github.com/extend/cowboy/blob/master/src/cowboy_req.erl#L720-746">https://github.com/extend/cowboy/blob/master/src/cowboy_req.erl#L720-746</A>
+
+
+--
+============================================================
+Ivan A. Uemlianin PhD
+Llaisdy
+Speech Technology Research and Development
+
+ <A HREF="https://lists.ninenines.eu/listinfo/extend">ivan at llaisdy.com</A>
+ www.llaisdy.com
+ llaisdy.wordpress.com
+ github.com/llaisdy
+ www.linkedin.com/in/ivanuemlianin
+
+ festina lente
+============================================================
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+
+ <LI>Next message: <A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#152">[ date ]</a>
+ <a href="thread.html#152">[ thread ]</a>
+ <a href="subject.html#152">[ subject ]</a>
+ <a href="author.html#152">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000153.html b/archives/extend/2013-July/000153.html
new file mode 100644
index 00000000..6041d7cd
--- /dev/null
+++ b/archives/extend/2013-July/000153.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Serve static files with cowboy from some applications
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Serve%20static%20files%20with%20cowboy%20from%20some%20applications&In-Reply-To=%3C1124365136.645865.1374072463432.JavaMail.root%40tpip.net%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000152.html">
+ <LINK REL="Next" HREF="000155.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Serve static files with cowboy from some applications</H1>
+ <B>Alexander Kuleshov</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Serve%20static%20files%20with%20cowboy%20from%20some%20applications&In-Reply-To=%3C1124365136.645865.1374072463432.JavaMail.root%40tpip.net%3E"
+ TITLE="[99s-extend] Serve static files with cowboy from some applications">akuleshov at tpip.net
+ </A><BR>
+ <I>Wed Jul 17 16:47:43 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000152.html">[99s-extend] Cowboy: http request maximum body size
+</A></li>
+ <LI>Next message: <A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#153">[ date ]</a>
+ <a href="thread.html#153">[ thread ]</a>
+ <a href="subject.html#153">[ subject ]</a>
+ <a href="author.html#153">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Hello,
+
+I have a web application which used cowboy (from master). I need to serve some static files, it's usual web application but i can use usual dispatch something like this:
+
+ Dispatch = cowboy_router:compile([
+ {'_', [
+ {&lt;&lt;&quot;/static/v/[...]&quot;&gt;&gt;, cowboy_static, [
+ {etag, {attributes, [filepath, filesize, inode, mtime]}},
+ {mimetypes, [
+ {&lt;&lt;&quot;.js&quot;&gt;&gt; , [&lt;&lt;&quot;application/javascript&quot;&gt;&gt;]},
+ {&lt;&lt;&quot;.css&quot;&gt;&gt;, [&lt;&lt;&quot;text/css&quot;&gt;&gt;]},
+ {&lt;&lt;&quot;.gif&quot;&gt;&gt;, [&lt;&lt;&quot;image/gif&quot;&gt;&gt;]},
+ {&lt;&lt;&quot;.png&quot;&gt;&gt;, [&lt;&lt;&quot;image/png&quot;&gt;&gt;]},
+ {&lt;&lt;&quot;.jpg&quot;&gt;&gt;, [&lt;&lt;&quot;image/jpeg&quot;&gt;&gt;]},
+ {&lt;&lt;&quot;.html&quot;&gt;&gt;, [&lt;&lt;&quot;text/html&quot;&gt;&gt;]}
+ ]},
+ {directory, {priv_dir, my_app, [&lt;&lt;&quot;static&quot;&gt;&gt;]}}
+ ]}
+ ]}
+ ])
+
+And i try to explain why. In fact, i have one application (this application) which used cowboy and many plugins for it. Every plugin is an erlang application and also every application has own static files. I need routing something like this:
+
+if path /static/v/my_app/index.html than serve index.html from my_app
+
+if path /static/v/other_app/test.js that serve test.js from other_app.
+
+and etc....
+
+Main goal to change: `my_app` from here: {directory, {priv_dir, my_app, [&lt;&lt;&quot;static&quot;&gt;&gt;]} dynamically or write custom static handler.
+
+How to do it correctly with cowboy?
+
+Thank you.
+
+--
+Alex Kuleshov
+Software Developer
+
+email: <A HREF="https://lists.ninenines.eu/listinfo/extend">ak at travelping.com</A>
+phone: +77172227194
+mobile: +77019442517
+
+----------------- enabling your networks ---------------------
+Travelping GmbH phone: +49-391-8190990
+Roentgenstr. 13 fax: +49-391-819099299
+D-39108 Magdeburg email: <A HREF="https://lists.ninenines.eu/listinfo/extend">info at travelping.com</A>
+GERMANY web: <A HREF="http://www.travelping.com">http://www.travelping.com</A>
+
+Company Registration: Amtsgericht Stendal Reg No.: HRB 10578
+Geschaeftsfuehrer: Holger Winkelmann | VAT ID No.: DE236673780
+--------------------------------------------------------------
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000152.html">[99s-extend] Cowboy: http request maximum body size
+</A></li>
+ <LI>Next message: <A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#153">[ date ]</a>
+ <a href="thread.html#153">[ thread ]</a>
+ <a href="subject.html#153">[ subject ]</a>
+ <a href="author.html#153">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000154.html b/archives/extend/2013-July/000154.html
new file mode 100644
index 00000000..bc1ec941
--- /dev/null
+++ b/archives/extend/2013-July/000154.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy handler linked processes
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3CD87A912B55F24C449853E92826558374%40id3as.co.uk%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000155.html">
+ <LINK REL="Next" HREF="000156.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy handler linked processes</H1>
+ <B>Adrian Roe</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3CD87A912B55F24C449853E92826558374%40id3as.co.uk%3E"
+ TITLE="[99s-extend] Cowboy handler linked processes">adrian at id3as.co.uk
+ </A><BR>
+ <I>Thu Jul 18 12:15:11 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A></li>
+ <LI>Next message: <A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#154">[ date ]</a>
+ <a href="thread.html#154">[ thread ]</a>
+ <a href="subject.html#154">[ subject ]</a>
+ <a href="author.html#154">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>We have been using spawn_linked workers to handle tasks that live for the lifetime of a single HTTP request
+
+Although in the cowboy guide it is clear that Cowboy can use &quot;One Process of Many Requests&quot; I am surprised that this is the case even if the handler crashes. For example, our use case is to copy a large file to the server over HTTP where a worker process relays the file contents to long term storage. The worker process is spawn_linked from the HTTP handler and (for our use case) should die if the handler stops.
+
+If the client stops the upload (for example by browsing away, or losing connectivity) we correctly receive an error (see sample Lager trace below), but what we are seeing is that spawn_linked processes are NOT being killed.
+
+Is this intended behaviour - I accept it makes sense to reuse the processes but should this continue to be the case even if the previous use of the process crashed? If it is intended behaviour I think the docs should highlight this as we've been leaking processes for some time now, but I've always seen it as erlang's job to look after related process trees in the event of error. Our current workaround is to hold a list of linked processes in process storage and then kill them in the terminate handler which is ugly in the extreme!! We don't know the PIDS of the linked processes until it is too late to return State to Cowboy (i.e. we are already in our handle code)...
+
+Kind regards
+
+Adrian
+
+16:09:32.347 [info] Trailer upload failed with reason {case_clause,{error,closed}}
+16:09:32.348 [error] ** Cowboy handler upload_trailer_resource terminating in handle/2
+ for the reason error:{case_clause,{error,closed}}
+** Handler state was {state,undefined,0,undefined,undefined,undefined}
+** Request was [{socket,#Port&lt;0.11230&gt;},{transport,ranch_tcp},{connection,keepalive},{pid,&lt;0.1987.0&gt;},{method,&lt;&lt;&quot;POST&quot;&gt;&gt;},{version,'HTTP/1.1'},{peer,{{84,92,32,116},64136}},{host,&lt;&lt;&quot;54.225.117.108&quot;&gt;&gt;},{host_info,undefined},{port,8000},{path,&lt;&lt;&quot;/upload_trailer&quot;&gt;&gt;},{path_info,undef
+ined},{qs,&lt;&lt;&quot;name=linux-7.4.21.zip&amp;size=54015414&quot;&gt;&gt;},{qs_vals,undefined},{bindings,[]},{headers,[{&lt;&lt;&quot;host&quot;&gt;&gt;,&lt;&lt;&quot;54.225.117.108:8000&quot;&gt;&gt;},{&lt;&lt;&quot;connection&quot;&gt;&gt;,&lt;&lt;&quot;keep-alive&quot;&gt;&gt;},{&lt;&lt;&quot;content-length&quot;&gt;&gt;,&lt;&lt;&quot;54015414&quot;&gt;&gt;},{&lt;&lt;&quot;origin&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000">http://54.225.117.108:8000</A>&quot;&gt;&gt;},{&lt;&lt;&quot;user-agent&quot;&gt;&gt;,&lt;&lt;&quot;M
+ozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36&quot;&gt;&gt;},{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&lt;&lt;&gt;&gt;},{&lt;&lt;&quot;accept&quot;&gt;&gt;,&lt;&lt;&quot;*/*&quot;&gt;&gt;},{&lt;&lt;&quot;referer&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000/">http://54.225.117.108:8000/</A>&quot;&gt;&gt;},{&lt;&lt;&quot;accept-encoding&quot;&gt;&gt;,&lt;&lt;&quot;gzip,deflate,sdch&quot;&gt;&gt;},{&lt;&lt;&quot;acce
+pt-language&quot;&gt;&gt;,&lt;&lt;&quot;en-US,en;q=0.8&quot;&gt;&gt;},{&lt;&lt;&quot;cookie&quot;&gt;&gt;,&lt;&lt;&quot;__jwpusr=cbc133d7-1b49-443c-8a13-364660cc93e5; id3as_manager=f4803c004d71dde3b64394f6e6f44faa54970e93&quot;&gt;&gt;}]},{p_headers,[{&lt;&lt;&quot;connection&quot;&gt;&gt;,[&lt;&lt;&quot;keep-alive&quot;&gt;&gt;]}]},{cookies,undefined},{meta,[]},{body_state,waiting},{multipart,unde
+fined},{buffer,&lt;&lt;&gt;&gt;},{resp_compress,true},{resp_state,waiting},{resp_headers,[]},{resp_body,&lt;&lt;&gt;&gt;},{onresponse,undefined}]
+** Stacktrace: [{i_cowboy,stream_body,0,[{file,&quot;src/i_cowboy.erl&quot;},{line,76}]},{upload_trailer_resource,stream_upload_file,4,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,247}]},{upload_trailer_resource,upload_file,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;}
+,{line,237}]},{upload_trailer_resource,head_or_post,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,202}]},{upload_trailer_resource,sequence,2,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,106}]},{upload_trailer_resource,process_request,1,[{file,&quot;src/endpo
+ints/upload_trailer_resource.erl&quot;},{line,212}]},{i_cowboy,do,3,[{file,&quot;src/i_cowboy.erl&quot;},{line,29}]},{cowboy_handler,handler_handle,4,[{file,&quot;src/cowboy_handler.erl&quot;},{line,119}]}]
+
+
+--
+Dr Adrian Roe
+Director
+
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: &lt;<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20130718/d65f1aaf/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20130718/d65f1aaf/attachment.html</A>&gt;
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A></li>
+ <LI>Next message: <A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#154">[ date ]</a>
+ <a href="thread.html#154">[ thread ]</a>
+ <a href="subject.html#154">[ subject ]</a>
+ <a href="author.html#154">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000155.html b/archives/extend/2013-July/000155.html
new file mode 100644
index 00000000..881c8ddc
--- /dev/null
+++ b/archives/extend/2013-July/000155.html
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Serve static files with cowboy from some applications
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Serve%20static%20files%20with%20cowboy%20from%20some%0A%09applications&In-Reply-To=%3C51E7C0A9.8050308%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000153.html">
+ <LINK REL="Next" HREF="000154.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Serve static files with cowboy from some applications</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Serve%20static%20files%20with%20cowboy%20from%20some%0A%09applications&In-Reply-To=%3C51E7C0A9.8050308%40ninenines.eu%3E"
+ TITLE="[99s-extend] Serve static files with cowboy from some applications">essen at ninenines.eu
+ </A><BR>
+ <I>Thu Jul 18 12:17:13 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A></li>
+ <LI>Next message: <A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#155">[ date ]</a>
+ <a href="thread.html#155">[ thread ]</a>
+ <a href="subject.html#155">[ subject ]</a>
+ <a href="author.html#155">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On 07/17/2013 04:47 PM, Alexander Kuleshov wrote:
+&gt;<i> Hello,
+</I>&gt;<i>
+</I>&gt;<i> I have a web application which used cowboy (from master). I need to serve some static files, it's usual web application but i can use usual dispatch something like this:
+</I>&gt;<i>
+</I>&gt;<i> Dispatch = cowboy_router:compile([
+</I>&gt;<i> {'_', [
+</I>&gt;<i> {&lt;&lt;&quot;/static/v/[...]&quot;&gt;&gt;, cowboy_static, [
+</I>&gt;<i> {etag, {attributes, [filepath, filesize, inode, mtime]}},
+</I>&gt;<i> {mimetypes, [
+</I>&gt;<i> {&lt;&lt;&quot;.js&quot;&gt;&gt; , [&lt;&lt;&quot;application/javascript&quot;&gt;&gt;]},
+</I>&gt;<i> {&lt;&lt;&quot;.css&quot;&gt;&gt;, [&lt;&lt;&quot;text/css&quot;&gt;&gt;]},
+</I>&gt;<i> {&lt;&lt;&quot;.gif&quot;&gt;&gt;, [&lt;&lt;&quot;image/gif&quot;&gt;&gt;]},
+</I>&gt;<i> {&lt;&lt;&quot;.png&quot;&gt;&gt;, [&lt;&lt;&quot;image/png&quot;&gt;&gt;]},
+</I>&gt;<i> {&lt;&lt;&quot;.jpg&quot;&gt;&gt;, [&lt;&lt;&quot;image/jpeg&quot;&gt;&gt;]},
+</I>&gt;<i> {&lt;&lt;&quot;.html&quot;&gt;&gt;, [&lt;&lt;&quot;text/html&quot;&gt;&gt;]}
+</I>&gt;<i> ]},
+</I>&gt;<i> {directory, {priv_dir, my_app, [&lt;&lt;&quot;static&quot;&gt;&gt;]}}
+</I>&gt;<i> ]}
+</I>&gt;<i> ]}
+</I>&gt;<i> ])
+</I>&gt;<i>
+</I>&gt;<i> And i try to explain why. In fact, i have one application (this application) which used cowboy and many plugins for it. Every plugin is an erlang application and also every application has own static files. I need routing something like this:
+</I>&gt;<i>
+</I>&gt;<i> if path /static/v/my_app/index.html than serve index.html from my_app
+</I>&gt;<i>
+</I>&gt;<i> if path /static/v/other_app/test.js that serve test.js from other_app.
+</I>&gt;<i>
+</I>&gt;<i> and etc....
+</I>&gt;<i>
+</I>&gt;<i> Main goal to change: `my_app` from here: {directory, {priv_dir, my_app, [&lt;&lt;&quot;static&quot;&gt;&gt;]} dynamically or write custom static handler.
+</I>&gt;<i>
+</I>&gt;<i> How to do it correctly with cowboy?
+</I>
+Why don't you add one rule per application?
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A></li>
+ <LI>Next message: <A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#155">[ date ]</a>
+ <a href="thread.html#155">[ thread ]</a>
+ <a href="subject.html#155">[ subject ]</a>
+ <a href="author.html#155">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000156.html b/archives/extend/2013-July/000156.html
new file mode 100644
index 00000000..0cf6e7f0
--- /dev/null
+++ b/archives/extend/2013-July/000156.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy handler linked processes
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C51E7C174.2030501%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000154.html">
+ <LINK REL="Next" HREF="000157.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy handler linked processes</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C51E7C174.2030501%40ninenines.eu%3E"
+ TITLE="[99s-extend] Cowboy handler linked processes">essen at ninenines.eu
+ </A><BR>
+ <I>Thu Jul 18 12:20:36 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#156">[ date ]</a>
+ <a href="thread.html#156">[ thread ]</a>
+ <a href="subject.html#156">[ subject ]</a>
+ <a href="author.html#156">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>I don't know what happens but there's two things I know:
+
+ * Handlers don't trap_exit, so if the linked process crashes, they
+crash too
+ * If the handler crashes, we close the connection and stop the
+handler; if not this is a bug
+
+After your log message the handler should stop unless there's a bug
+somewhere.
+
+On 07/18/2013 12:15 PM, Adrian Roe wrote:
+&gt;<i> We have been using spawn_linked workers to handle tasks that live for
+</I>&gt;<i> the lifetime of a single HTTP request
+</I>&gt;<i>
+</I>&gt;<i> Although in the cowboy guide it is clear that Cowboy can use &quot;One
+</I>&gt;<i> Process of Many Requests&quot; I am surprised that this is the case even if
+</I>&gt;<i> the handler crashes. For example, our use case is to copy a large file
+</I>&gt;<i> to the server over HTTP where a worker process relays the file contents
+</I>&gt;<i> to long term storage. The worker process is spawn_linked from the HTTP
+</I>&gt;<i> handler and (for our use case) should die if the handler stops.
+</I>&gt;<i>
+</I>&gt;<i> If the client stops the upload (for example by browsing away, or losing
+</I>&gt;<i> connectivity) we correctly receive an error (see sample Lager trace
+</I>&gt;<i> below), but what we are seeing is that spawn_linked processes are NOT
+</I>&gt;<i> being killed.
+</I>&gt;<i>
+</I>&gt;<i> Is this intended behaviour - I accept it makes sense to reuse the
+</I>&gt;<i> processes but should this continue to be the case even if the previous
+</I>&gt;<i> use of the process crashed? If it is intended behaviour I think the
+</I>&gt;<i> docs should highlight this as we've been leaking processes for some time
+</I>&gt;<i> now, but I've always seen it as erlang's job to look after related
+</I>&gt;<i> process trees in the event of error. Our current workaround is to hold
+</I>&gt;<i> a list of linked processes in process storage and then kill them in the
+</I>&gt;<i> terminate handler which is ugly in the extreme!! We don't know the PIDS
+</I>&gt;<i> of the linked processes until it is too late to return State to Cowboy
+</I>&gt;<i> (i.e. we are already in our handle code)...
+</I>&gt;<i>
+</I>&gt;<i> Kind regards
+</I>&gt;<i>
+</I>&gt;<i> Adrian
+</I>&gt;<i>
+</I>&gt;<i> 16:09:32.347 [info] Trailer upload failed with reason
+</I>&gt;<i> {case_clause,{error,closed}}
+</I>&gt;<i> 16:09:32.348 [error] ** Cowboy handler upload_trailer_resource
+</I>&gt;<i> terminating in handle/2
+</I>&gt;<i> for the reason error:{case_clause,{error,closed}}
+</I>&gt;<i> ** Handler state was {state,undefined,0,undefined,undefined,undefined}
+</I>&gt;<i> ** Request was
+</I>&gt;<i> [{socket,#Port&lt;0.11230&gt;},{transport,ranch_tcp},{connection,keepalive},{pid,&lt;0.1987.0&gt;},{method,&lt;&lt;&quot;POST&quot;&gt;&gt;},{version,'HTTP/1.1'},{peer,{{84,92,32,116},64136}},{host,&lt;&lt;&quot;54.225.117.108&quot;&gt;&gt;},{host_info,undefined},{port,8000},{path,&lt;&lt;&quot;/upload_trailer&quot;&gt;&gt;},{path_info,undef
+</I>&gt;<i> ined},{qs,&lt;&lt;&quot;name=linux-7.4.21.zip&amp;size=54015414&quot;&gt;&gt;},{qs_vals,undefined},{bindings,[]},{headers,[{&lt;&lt;&quot;host&quot;&gt;&gt;,&lt;&lt;&quot;54.225.117.108:8000&quot;&gt;&gt;},{&lt;&lt;&quot;connection&quot;&gt;&gt;,&lt;&lt;&quot;keep-alive&quot;&gt;&gt;},{&lt;&lt;&quot;content-length&quot;&gt;&gt;,&lt;&lt;&quot;54015414&quot;&gt;&gt;},{&lt;&lt;&quot;origin&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000">http://54.225.117.108:8000</A>&quot;&gt;&gt;},{&lt;&lt;&quot;user-agent&quot;&gt;&gt;,&lt;&lt;&quot;M
+</I>&gt;<i> ozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML,
+</I>&gt;<i> like Gecko) Chrome/28.0.1500.71
+</I>&gt;<i> Safari/537.36&quot;&gt;&gt;},{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&lt;&lt;&gt;&gt;},{&lt;&lt;&quot;accept&quot;&gt;&gt;,&lt;&lt;&quot;*/*&quot;&gt;&gt;},{&lt;&lt;&quot;referer&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000/">http://54.225.117.108:8000/</A>&quot;&gt;&gt;},{&lt;&lt;&quot;accept-encoding&quot;&gt;&gt;,&lt;&lt;&quot;gzip,deflate,sdch&quot;&gt;&gt;},{&lt;&lt;&quot;acce
+</I>&gt;<i> pt-language&quot;&gt;&gt;,&lt;&lt;&quot;en-US,en;q=0.8&quot;&gt;&gt;},{&lt;&lt;&quot;cookie&quot;&gt;&gt;,&lt;&lt;&quot;__jwpusr=cbc133d7-1b49-443c-8a13-364660cc93e5;
+</I>&gt;<i> id3as_manager=f4803c004d71dde3b64394f6e6f44faa54970e93&quot;&gt;&gt;}]},{p_headers,[{&lt;&lt;&quot;connection&quot;&gt;&gt;,[&lt;&lt;&quot;keep-alive&quot;&gt;&gt;]}]},{cookies,undefined},{meta,[]},{body_state,waiting},{multipart,unde
+</I>&gt;<i> fined},{buffer,&lt;&lt;&gt;&gt;},{resp_compress,true},{resp_state,waiting},{resp_headers,[]},{resp_body,&lt;&lt;&gt;&gt;},{onresponse,undefined}]
+</I>&gt;<i> ** Stacktrace:
+</I>&gt;<i> [{i_cowboy,stream_body,0,[{file,&quot;src/i_cowboy.erl&quot;},{line,76}]},{upload_trailer_resource,stream_upload_file,4,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,247}]},{upload_trailer_resource,upload_file,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;}
+</I>&gt;<i> ,{line,237}]},{upload_trailer_resource,head_or_post,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,202}]},{upload_trailer_resource,sequence,2,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,106}]},{upload_trailer_resource,process_request,1,[{file,&quot;src/endpo
+</I>&gt;<i> ints/upload_trailer_resource.erl&quot;},{line,212}]},{i_cowboy,do,3,[{file,&quot;src/i_cowboy.erl&quot;},{line,29}]},{cowboy_handler,handler_handle,4,[{file,&quot;src/cowboy_handler.erl&quot;},{line,119}]}]
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Dr Adrian Roe
+</I>&gt;<i> Director
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> _______________________________________________
+</I>&gt;<i> Extend mailing list
+</I>&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;<i>
+</I>
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#156">[ date ]</a>
+ <a href="thread.html#156">[ thread ]</a>
+ <a href="subject.html#156">[ subject ]</a>
+ <a href="author.html#156">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000157.html b/archives/extend/2013-July/000157.html
new file mode 100644
index 00000000..c6fcd53c
--- /dev/null
+++ b/archives/extend/2013-July/000157.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy handler linked processes
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3CD3A4F0636AFF477EB95B379DC4F28DC8%40id3as.co.uk%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000156.html">
+ <LINK REL="Next" HREF="000158.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy handler linked processes</H1>
+ <B>Adrian Roe</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3CD3A4F0636AFF477EB95B379DC4F28DC8%40id3as.co.uk%3E"
+ TITLE="[99s-extend] Cowboy handler linked processes">adrian at id3as.co.uk
+ </A><BR>
+ <I>Thu Jul 18 12:31:45 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#157">[ date ]</a>
+ <a href="thread.html#157">[ thread ]</a>
+ <a href="subject.html#157">[ subject ]</a>
+ <a href="author.html#157">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>My issue is the other way round. My handler crashes - and terminate gets called, but the linked process is NOT stopped (unless I stop it in terminate having stashed any processes I need to stop in the process dictionary - this is what I'm currently doing, but yuck!)
+
+. My question is whether it wouldn't be better to no re-use the handler process that has crashed and replace it so that handler's can use the canonical erlang way of stopping related processes rather than having to do it by hand.
+
+Obviously if the handler does not crash there's no need to kill the process, so the current efficiency saving works in the &quot;normal&quot; case/
+
+--
+Dr Adrian Roe
+Director
+
+
+On Thursday, 18 July 2013 at 11:20, Lo&#239;c Hoguin wrote:
+
+&gt;<i> I don't know what happens but there's two things I know:
+</I>&gt;<i>
+</I>&gt;<i> * Handlers don't trap_exit, so if the linked process crashes, they
+</I>&gt;<i> crash too
+</I>&gt;<i> * If the handler crashes, we close the connection and stop the
+</I>&gt;<i> handler; if not this is a bug
+</I>&gt;<i>
+</I>&gt;<i> After your log message the handler should stop unless there's a bug
+</I>&gt;<i> somewhere.
+</I>&gt;<i>
+</I>&gt;<i> On 07/18/2013 12:15 PM, Adrian Roe wrote:
+</I>&gt;<i> &gt; We have been using spawn_linked workers to handle tasks that live for
+</I>&gt;<i> &gt; the lifetime of a single HTTP request
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Although in the cowboy guide it is clear that Cowboy can use &quot;One
+</I>&gt;<i> &gt; Process of Many Requests&quot; I am surprised that this is the case even if
+</I>&gt;<i> &gt; the handler crashes. For example, our use case is to copy a large file
+</I>&gt;<i> &gt; to the server over HTTP where a worker process relays the file contents
+</I>&gt;<i> &gt; to long term storage. The worker process is spawn_linked from the HTTP
+</I>&gt;<i> &gt; handler and (for our use case) should die if the handler stops.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; If the client stops the upload (for example by browsing away, or losing
+</I>&gt;<i> &gt; connectivity) we correctly receive an error (see sample Lager trace
+</I>&gt;<i> &gt; below), but what we are seeing is that spawn_linked processes are NOT
+</I>&gt;<i> &gt; being killed.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Is this intended behaviour - I accept it makes sense to reuse the
+</I>&gt;<i> &gt; processes but should this continue to be the case even if the previous
+</I>&gt;<i> &gt; use of the process crashed? If it is intended behaviour I think the
+</I>&gt;<i> &gt; docs should highlight this as we've been leaking processes for some time
+</I>&gt;<i> &gt; now, but I've always seen it as erlang's job to look after related
+</I>&gt;<i> &gt; process trees in the event of error. Our current workaround is to hold
+</I>&gt;<i> &gt; a list of linked processes in process storage and then kill them in the
+</I>&gt;<i> &gt; terminate handler which is ugly in the extreme!! We don't know the PIDS
+</I>&gt;<i> &gt; of the linked processes until it is too late to return State to Cowboy
+</I>&gt;<i> &gt; (i.e. we are already in our handle code)...
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Kind regards
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Adrian
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; 16:09:32.347 [info] Trailer upload failed with reason
+</I>&gt;<i> &gt; {case_clause,{error,closed}}
+</I>&gt;<i> &gt; 16:09:32.348 [error] ** Cowboy handler upload_trailer_resource
+</I>&gt;<i> &gt; terminating in handle/2
+</I>&gt;<i> &gt; for the reason error:{case_clause,{error,closed}}
+</I>&gt;<i> &gt; ** Handler state was {state,undefined,0,undefined,undefined,undefined}
+</I>&gt;<i> &gt; ** Request was
+</I>&gt;<i> &gt; [{socket,#Port&lt;0.11230&gt;},{transport,ranch_tcp},{connection,keepalive},{pid,&lt;0.1987.0&gt;},{method,&lt;&lt;&quot;POST&quot;&gt;&gt;},{version,'HTTP/1.1'},{peer,{{84,92,32,116},64136}},{host,&lt;&lt;&quot;54.225.117.108&quot;&gt;&gt;},{host_info,undefined},{port,8000},{path,&lt;&lt;&quot;/upload_trailer&quot;&gt;&gt;},{path_info,undef
+</I>&gt;<i> &gt; ined},{qs,&lt;&lt;&quot;name=linux-7.4.21.zip&amp;size=54015414&quot;&gt;&gt;},{qs_vals,undefined},{bindings,[]},{headers,[{&lt;&lt;&quot;host&quot;&gt;&gt;,&lt;&lt;&quot;54.225.117.108:8000&quot;&gt;&gt;},{&lt;&lt;&quot;connection&quot;&gt;&gt;,&lt;&lt;&quot;keep-alive&quot;&gt;&gt;},{&lt;&lt;&quot;content-length&quot;&gt;&gt;,&lt;&lt;&quot;54015414&quot;&gt;&gt;},{&lt;&lt;&quot;origin&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000">http://54.225.117.108:8000</A>&quot;&gt;&gt;},{&lt;&lt;&quot;user-agent&quot;&gt;&gt;,&lt;&lt;&quot;M
+</I>&gt;<i> &gt; ozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML,
+</I>&gt;<i> &gt; like Gecko) Chrome/28.0.1500.71
+</I>&gt;<i> &gt; Safari/537.36&quot;&gt;&gt;},{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&lt;&lt;&gt;&gt;},{&lt;&lt;&quot;accept&quot;&gt;&gt;,&lt;&lt;&quot;*/*&quot;&gt;&gt;},{&lt;&lt;&quot;referer&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000/">http://54.225.117.108:8000/</A>&quot;&gt;&gt;},{&lt;&lt;&quot;accept-encoding&quot;&gt;&gt;,&lt;&lt;&quot;gzip,deflate,sdch&quot;&gt;&gt;},{&lt;&lt;&quot;acce
+</I>&gt;<i> &gt; pt-language&quot;&gt;&gt;,&lt;&lt;&quot;en-US,en;q=0.8&quot;&gt;&gt;},{&lt;&lt;&quot;cookie&quot;&gt;&gt;,&lt;&lt;&quot;__jwpusr=cbc133d7-1b49-443c-8a13-364660cc93e5;
+</I>&gt;<i> &gt; id3as_manager=f4803c004d71dde3b64394f6e6f44faa54970e93&quot;&gt;&gt;}]},{p_headers,[{&lt;&lt;&quot;connection&quot;&gt;&gt;,[&lt;&lt;&quot;keep-alive&quot;&gt;&gt;]}]},{cookies,undefined},{meta,[]},{body_state,waiting},{multipart,unde
+</I>&gt;<i> &gt; fined},{buffer,&lt;&lt;&gt;&gt;},{resp_compress,true},{resp_state,waiting},{resp_headers,[]},{resp_body,&lt;&lt;&gt;&gt;},{onresponse,undefined}]
+</I>&gt;<i> &gt; ** Stacktrace:
+</I>&gt;<i> &gt; [{i_cowboy,stream_body,0,[{file,&quot;src/i_cowboy.erl&quot;},{line,76}]},{upload_trailer_resource,stream_upload_file,4,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,247}]},{upload_trailer_resource,upload_file,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;}
+</I>&gt;<i> &gt; ,{line,237}]},{upload_trailer_resource,head_or_post,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,202}]},{upload_trailer_resource,sequence,2,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,106}]},{upload_trailer_resource,process_request,1,[{file,&quot;src/endpo
+</I>&gt;<i> &gt; ints/upload_trailer_resource.erl&quot;},{line,212}]},{i_cowboy,do,3,[{file,&quot;src/i_cowboy.erl&quot;},{line,29}]},{cowboy_handler,handler_handle,4,[{file,&quot;src/cowboy_handler.erl&quot;},{line,119}]}]
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; --
+</I>&gt;<i> &gt; Dr Adrian Roe
+</I>&gt;<i> &gt; Director
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; _______________________________________________
+</I>&gt;<i> &gt; Extend mailing list
+</I>&gt;<i> &gt; <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> (mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>)
+</I>&gt;<i> &gt; <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;<i> &gt;
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Lo&#239;c Hoguin
+</I>&gt;<i> Erlang Cowboy
+</I>&gt;<i> Nine Nines
+</I>&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>
+
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: &lt;<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20130718/c50bef17/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20130718/c50bef17/attachment.html</A>&gt;
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#157">[ date ]</a>
+ <a href="thread.html#157">[ thread ]</a>
+ <a href="subject.html#157">[ subject ]</a>
+ <a href="author.html#157">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000158.html b/archives/extend/2013-July/000158.html
new file mode 100644
index 00000000..41d6dd01
--- /dev/null
+++ b/archives/extend/2013-July/000158.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy handler linked processes
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C51E7C514.5040504%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000157.html">
+ <LINK REL="Next" HREF="000159.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy handler linked processes</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C51E7C514.5040504%40ninenines.eu%3E"
+ TITLE="[99s-extend] Cowboy handler linked processes">essen at ninenines.eu
+ </A><BR>
+ <I>Thu Jul 18 12:36:04 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#158">[ date ]</a>
+ <a href="thread.html#158">[ thread ]</a>
+ <a href="subject.html#158">[ subject ]</a>
+ <a href="author.html#158">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>I don't think the problem is that the handler is reused, we don't reuse
+them if there's an error. However we do catch errors to print them in
+the logs, and then the process stops normally. If you link without
+trap_exit you receive a normal exit signal which is ignored and doesn't
+kill your process. I suppose we should throw an exit signal when we got
+an error, after logging everything, instead of stopping normally.
+
+On 07/18/2013 12:31 PM, Adrian Roe wrote:
+&gt;<i> My issue is the other way round. My handler crashes - and terminate
+</I>&gt;<i> gets called, but the linked process is NOT stopped (unless I stop it in
+</I>&gt;<i> terminate having stashed any processes I need to stop in the process
+</I>&gt;<i> dictionary - this is what I'm currently doing, but yuck!)
+</I>&gt;<i>
+</I>&gt;<i> . My question is whether it wouldn't be better to no re-use the handler
+</I>&gt;<i> process that has crashed and replace it so that handler's can use the
+</I>&gt;<i> canonical erlang way of stopping related processes rather than having to
+</I>&gt;<i> do it by hand.
+</I>&gt;<i>
+</I>&gt;<i> Obviously if the handler does not crash there's no need to kill the
+</I>&gt;<i> process, so the current efficiency saving works in the &quot;normal&quot; case/
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Dr Adrian Roe
+</I>&gt;<i> Director
+</I>&gt;<i>
+</I>&gt;<i> On Thursday, 18 July 2013 at 11:20, Lo&#239;c Hoguin wrote:
+</I>&gt;<i>
+</I>&gt;&gt;<i> I don't know what happens but there's two things I know:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> * Handlers don't trap_exit, so if the linked process crashes, they
+</I>&gt;&gt;<i> crash too
+</I>&gt;&gt;<i> * If the handler crashes, we close the connection and stop the
+</I>&gt;&gt;<i> handler; if not this is a bug
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> After your log message the handler should stop unless there's a bug
+</I>&gt;&gt;<i> somewhere.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On 07/18/2013 12:15 PM, Adrian Roe wrote:
+</I>&gt;&gt;&gt;<i> We have been using spawn_linked workers to handle tasks that live for
+</I>&gt;&gt;&gt;<i> the lifetime of a single HTTP request
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Although in the cowboy guide it is clear that Cowboy can use &quot;One
+</I>&gt;&gt;&gt;<i> Process of Many Requests&quot; I am surprised that this is the case even if
+</I>&gt;&gt;&gt;<i> the handler crashes. For example, our use case is to copy a large file
+</I>&gt;&gt;&gt;<i> to the server over HTTP where a worker process relays the file contents
+</I>&gt;&gt;&gt;<i> to long term storage. The worker process is spawn_linked from the HTTP
+</I>&gt;&gt;&gt;<i> handler and (for our use case) should die if the handler stops.
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> If the client stops the upload (for example by browsing away, or losing
+</I>&gt;&gt;&gt;<i> connectivity) we correctly receive an error (see sample Lager trace
+</I>&gt;&gt;&gt;<i> below), but what we are seeing is that spawn_linked processes are NOT
+</I>&gt;&gt;&gt;<i> being killed.
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Is this intended behaviour - I accept it makes sense to reuse the
+</I>&gt;&gt;&gt;<i> processes but should this continue to be the case even if the previous
+</I>&gt;&gt;&gt;<i> use of the process crashed? If it is intended behaviour I think the
+</I>&gt;&gt;&gt;<i> docs should highlight this as we've been leaking processes for some time
+</I>&gt;&gt;&gt;<i> now, but I've always seen it as erlang's job to look after related
+</I>&gt;&gt;&gt;<i> process trees in the event of error. Our current workaround is to hold
+</I>&gt;&gt;&gt;<i> a list of linked processes in process storage and then kill them in the
+</I>&gt;&gt;&gt;<i> terminate handler which is ugly in the extreme!! We don't know the PIDS
+</I>&gt;&gt;&gt;<i> of the linked processes until it is too late to return State to Cowboy
+</I>&gt;&gt;&gt;<i> (i.e. we are already in our handle code)...
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Kind regards
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Adrian
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> 16:09:32.347 [info] Trailer upload failed with reason
+</I>&gt;&gt;&gt;<i> {case_clause,{error,closed}}
+</I>&gt;&gt;&gt;<i> 16:09:32.348 [error] ** Cowboy handler upload_trailer_resource
+</I>&gt;&gt;&gt;<i> terminating in handle/2
+</I>&gt;&gt;&gt;<i> for the reason error:{case_clause,{error,closed}}
+</I>&gt;&gt;&gt;<i> ** Handler state was {state,undefined,0,undefined,undefined,undefined}
+</I>&gt;&gt;&gt;<i> ** Request was
+</I>&gt;&gt;&gt;<i> [{socket,#Port&lt;0.11230&gt;},{transport,ranch_tcp},{connection,keepalive},{pid,&lt;0.1987.0&gt;},{method,&lt;&lt;&quot;POST&quot;&gt;&gt;},{version,'HTTP/1.1'},{peer,{{84,92,32,116},64136}},{host,&lt;&lt;&quot;54.225.117.108&quot;&gt;&gt;},{host_info,undefined},{port,8000},{path,&lt;&lt;&quot;/upload_trailer&quot;&gt;&gt;},{path_info,undef
+</I>&gt;&gt;&gt;<i> ined},{qs,&lt;&lt;&quot;name=linux-7.4.21.zip&amp;size=54015414&quot;&gt;&gt;},{qs_vals,undefined},{bindings,[]},{headers,[{&lt;&lt;&quot;host&quot;&gt;&gt;,&lt;&lt;&quot;54.225.117.108:8000&quot;&gt;&gt;},{&lt;&lt;&quot;connection&quot;&gt;&gt;,&lt;&lt;&quot;keep-alive&quot;&gt;&gt;},{&lt;&lt;&quot;content-length&quot;&gt;&gt;,&lt;&lt;&quot;54015414&quot;&gt;&gt;},{&lt;&lt;&quot;origin&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000">http://54.225.117.108:8000</A>&quot;&gt;&gt;},{&lt;&lt;&quot;user-agent&quot;&gt;&gt;,&lt;&lt;&quot;M
+</I>&gt;&gt;&gt;<i> ozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML,
+</I>&gt;&gt;&gt;<i> like Gecko) Chrome/28.0.1500.71
+</I>&gt;&gt;&gt;<i> Safari/537.36&quot;&gt;&gt;},{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&lt;&lt;&gt;&gt;},{&lt;&lt;&quot;accept&quot;&gt;&gt;,&lt;&lt;&quot;*/*&quot;&gt;&gt;},{&lt;&lt;&quot;referer&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000/">http://54.225.117.108:8000/</A>&quot;&gt;&gt;},{&lt;&lt;&quot;accept-encoding&quot;&gt;&gt;,&lt;&lt;&quot;gzip,deflate,sdch&quot;&gt;&gt;},{&lt;&lt;&quot;acce
+</I>&gt;&gt;&gt;<i> pt-language&quot;&gt;&gt;,&lt;&lt;&quot;en-US,en;q=0.8&quot;&gt;&gt;},{&lt;&lt;&quot;cookie&quot;&gt;&gt;,&lt;&lt;&quot;__jwpusr=cbc133d7-1b49-443c-8a13-364660cc93e5;
+</I>&gt;&gt;&gt;<i> id3as_manager=f4803c004d71dde3b64394f6e6f44faa54970e93&quot;&gt;&gt;}]},{p_headers,[{&lt;&lt;&quot;connection&quot;&gt;&gt;,[&lt;&lt;&quot;keep-alive&quot;&gt;&gt;]}]},{cookies,undefined},{meta,[]},{body_state,waiting},{multipart,unde
+</I>&gt;&gt;&gt;<i> fined},{buffer,&lt;&lt;&gt;&gt;},{resp_compress,true},{resp_state,waiting},{resp_headers,[]},{resp_body,&lt;&lt;&gt;&gt;},{onresponse,undefined}]
+</I>&gt;&gt;&gt;<i> ** Stacktrace:
+</I>&gt;&gt;&gt;<i> [{i_cowboy,stream_body,0,[{file,&quot;src/i_cowboy.erl&quot;},{line,76}]},{upload_trailer_resource,stream_upload_file,4,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,247}]},{upload_trailer_resource,upload_file,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;}
+</I>&gt;&gt;&gt;<i> ,{line,237}]},{upload_trailer_resource,head_or_post,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,202}]},{upload_trailer_resource,sequence,2,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,106}]},{upload_trailer_resource,process_request,1,[{file,&quot;src/endpo
+</I>&gt;&gt;&gt;<i> ints/upload_trailer_resource.erl&quot;},{line,212}]},{i_cowboy,do,3,[{file,&quot;src/i_cowboy.erl&quot;},{line,29}]},{cowboy_handler,handler_handle,4,[{file,&quot;src/cowboy_handler.erl&quot;},{line,119}]}]
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;<i> Dr Adrian Roe
+</I>&gt;&gt;&gt;<i> Director
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> _______________________________________________
+</I>&gt;&gt;&gt;<i> Extend mailing list
+</I>&gt;&gt;&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> &lt;mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>&gt;
+</I>&gt;&gt;&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> --
+</I>&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i>
+</I>
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#158">[ date ]</a>
+ <a href="thread.html#158">[ thread ]</a>
+ <a href="subject.html#158">[ subject ]</a>
+ <a href="author.html#158">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000159.html b/archives/extend/2013-July/000159.html
new file mode 100644
index 00000000..cf096ef3
--- /dev/null
+++ b/archives/extend/2013-July/000159.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy handler linked processes
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C66E9A8B267A946AF8F527593BBFD26B0%40id3as.co.uk%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000158.html">
+ <LINK REL="Next" HREF="000160.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy handler linked processes</H1>
+ <B>Adrian Roe</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C66E9A8B267A946AF8F527593BBFD26B0%40id3as.co.uk%3E"
+ TITLE="[99s-extend] Cowboy handler linked processes">adrian at id3as.co.uk
+ </A><BR>
+ <I>Thu Jul 18 12:37:30 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#159">[ date ]</a>
+ <a href="thread.html#159">[ thread ]</a>
+ <a href="subject.html#159">[ subject ]</a>
+ <a href="author.html#159">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>That would be perfect! Do you want me to make the change and issue a pull request?
+
+--
+Dr Adrian Roe
+Director
+
+
+On Thursday, 18 July 2013 at 11:36, Lo&#239;c Hoguin wrote:
+
+&gt;<i> I don't think the problem is that the handler is reused, we don't reuse
+</I>&gt;<i> them if there's an error. However we do catch errors to print them in
+</I>&gt;<i> the logs, and then the process stops normally. If you link without
+</I>&gt;<i> trap_exit you receive a normal exit signal which is ignored and doesn't
+</I>&gt;<i> kill your process. I suppose we should throw an exit signal when we got
+</I>&gt;<i> an error, after logging everything, instead of stopping normally.
+</I>&gt;<i>
+</I>&gt;<i> On 07/18/2013 12:31 PM, Adrian Roe wrote:
+</I>&gt;<i> &gt; My issue is the other way round. My handler crashes - and terminate
+</I>&gt;<i> &gt; gets called, but the linked process is NOT stopped (unless I stop it in
+</I>&gt;<i> &gt; terminate having stashed any processes I need to stop in the process
+</I>&gt;<i> &gt; dictionary - this is what I'm currently doing, but yuck!)
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; . My question is whether it wouldn't be better to no re-use the handler
+</I>&gt;<i> &gt; process that has crashed and replace it so that handler's can use the
+</I>&gt;<i> &gt; canonical erlang way of stopping related processes rather than having to
+</I>&gt;<i> &gt; do it by hand.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Obviously if the handler does not crash there's no need to kill the
+</I>&gt;<i> &gt; process, so the current efficiency saving works in the &quot;normal&quot; case/
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; --
+</I>&gt;<i> &gt; Dr Adrian Roe
+</I>&gt;<i> &gt; Director
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; On Thursday, 18 July 2013 at 11:20, Lo&#239;c Hoguin wrote:
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; &gt; I don't know what happens but there's two things I know:
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt; * Handlers don't trap_exit, so if the linked process crashes, they
+</I>&gt;<i> &gt; &gt; crash too
+</I>&gt;<i> &gt; &gt; * If the handler crashes, we close the connection and stop the
+</I>&gt;<i> &gt; &gt; handler; if not this is a bug
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt; After your log message the handler should stop unless there's a bug
+</I>&gt;<i> &gt; &gt; somewhere.
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt; On 07/18/2013 12:15 PM, Adrian Roe wrote:
+</I>&gt;<i> &gt; &gt; &gt; We have been using spawn_linked workers to handle tasks that live for
+</I>&gt;<i> &gt; &gt; &gt; the lifetime of a single HTTP request
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; Although in the cowboy guide it is clear that Cowboy can use &quot;One
+</I>&gt;<i> &gt; &gt; &gt; Process of Many Requests&quot; I am surprised that this is the case even if
+</I>&gt;<i> &gt; &gt; &gt; the handler crashes. For example, our use case is to copy a large file
+</I>&gt;<i> &gt; &gt; &gt; to the server over HTTP where a worker process relays the file contents
+</I>&gt;<i> &gt; &gt; &gt; to long term storage. The worker process is spawn_linked from the HTTP
+</I>&gt;<i> &gt; &gt; &gt; handler and (for our use case) should die if the handler stops.
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; If the client stops the upload (for example by browsing away, or losing
+</I>&gt;<i> &gt; &gt; &gt; connectivity) we correctly receive an error (see sample Lager trace
+</I>&gt;<i> &gt; &gt; &gt; below), but what we are seeing is that spawn_linked processes are NOT
+</I>&gt;<i> &gt; &gt; &gt; being killed.
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; Is this intended behaviour - I accept it makes sense to reuse the
+</I>&gt;<i> &gt; &gt; &gt; processes but should this continue to be the case even if the previous
+</I>&gt;<i> &gt; &gt; &gt; use of the process crashed? If it is intended behaviour I think the
+</I>&gt;<i> &gt; &gt; &gt; docs should highlight this as we've been leaking processes for some time
+</I>&gt;<i> &gt; &gt; &gt; now, but I've always seen it as erlang's job to look after related
+</I>&gt;<i> &gt; &gt; &gt; process trees in the event of error. Our current workaround is to hold
+</I>&gt;<i> &gt; &gt; &gt; a list of linked processes in process storage and then kill them in the
+</I>&gt;<i> &gt; &gt; &gt; terminate handler which is ugly in the extreme!! We don't know the PIDS
+</I>&gt;<i> &gt; &gt; &gt; of the linked processes until it is too late to return State to Cowboy
+</I>&gt;<i> &gt; &gt; &gt; (i.e. we are already in our handle code)...
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; Kind regards
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; Adrian
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; 16:09:32.347 [info] Trailer upload failed with reason
+</I>&gt;<i> &gt; &gt; &gt; {case_clause,{error,closed}}
+</I>&gt;<i> &gt; &gt; &gt; 16:09:32.348 [error] ** Cowboy handler upload_trailer_resource
+</I>&gt;<i> &gt; &gt; &gt; terminating in handle/2
+</I>&gt;<i> &gt; &gt; &gt; for the reason error:{case_clause,{error,closed}}
+</I>&gt;<i> &gt; &gt; &gt; ** Handler state was {state,undefined,0,undefined,undefined,undefined}
+</I>&gt;<i> &gt; &gt; &gt; ** Request was
+</I>&gt;<i> &gt; &gt; &gt; [{socket,#Port&lt;0.11230&gt;},{transport,ranch_tcp},{connection,keepalive},{pid,&lt;0.1987.0&gt;},{method,&lt;&lt;&quot;POST&quot;&gt;&gt;},{version,'HTTP/1.1'},{peer,{{84,92,32,116},64136}},{host,&lt;&lt;&quot;54.225.117.108&quot;&gt;&gt;},{host_info,undefined},{port,8000},{path,&lt;&lt;&quot;/upload_trailer&quot;&gt;&gt;},{path_info,undef
+</I>&gt;<i> &gt; &gt; &gt; ined},{qs,&lt;&lt;&quot;name=linux-7.4.21.zip&amp;size=54015414&quot;&gt;&gt;},{qs_vals,undefined},{bindings,[]},{headers,[{&lt;&lt;&quot;host&quot;&gt;&gt;,&lt;&lt;&quot;54.225.117.108:8000&quot;&gt;&gt;},{&lt;&lt;&quot;connection&quot;&gt;&gt;,&lt;&lt;&quot;keep-alive&quot;&gt;&gt;},{&lt;&lt;&quot;content-length&quot;&gt;&gt;,&lt;&lt;&quot;54015414&quot;&gt;&gt;},{&lt;&lt;&quot;origin&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000">http://54.225.117.108:8000</A>&quot;&gt;&gt;},{&lt;&lt;&quot;user-agent&quot;&gt;&gt;,&lt;&lt;&quot;M
+</I>&gt;<i> &gt; &gt; &gt; ozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML,
+</I>&gt;<i> &gt; &gt; &gt; like Gecko) Chrome/28.0.1500.71
+</I>&gt;<i> &gt; &gt; &gt; Safari/537.36&quot;&gt;&gt;},{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&lt;&lt;&gt;&gt;},{&lt;&lt;&quot;accept&quot;&gt;&gt;,&lt;&lt;&quot;*/*&quot;&gt;&gt;},{&lt;&lt;&quot;referer&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000/">http://54.225.117.108:8000/</A>&quot;&gt;&gt;},{&lt;&lt;&quot;accept-encoding&quot;&gt;&gt;,&lt;&lt;&quot;gzip,deflate,sdch&quot;&gt;&gt;},{&lt;&lt;&quot;acce
+</I>&gt;<i> &gt; &gt; &gt; pt-language&quot;&gt;&gt;,&lt;&lt;&quot;en-US,en;q=0.8&quot;&gt;&gt;},{&lt;&lt;&quot;cookie&quot;&gt;&gt;,&lt;&lt;&quot;__jwpusr=cbc133d7-1b49-443c-8a13-364660cc93e5;
+</I>&gt;<i> &gt; &gt; &gt; id3as_manager=f4803c004d71dde3b64394f6e6f44faa54970e93&quot;&gt;&gt;}]},{p_headers,[{&lt;&lt;&quot;connection&quot;&gt;&gt;,[&lt;&lt;&quot;keep-alive&quot;&gt;&gt;]}]},{cookies,undefined},{meta,[]},{body_state,waiting},{multipart,unde
+</I>&gt;<i> &gt; &gt; &gt; fined},{buffer,&lt;&lt;&gt;&gt;},{resp_compress,true},{resp_state,waiting},{resp_headers,[]},{resp_body,&lt;&lt;&gt;&gt;},{onresponse,undefined}]
+</I>&gt;<i> &gt; &gt; &gt; ** Stacktrace:
+</I>&gt;<i> &gt; &gt; &gt; [{i_cowboy,stream_body,0,[{file,&quot;src/i_cowboy.erl&quot;},{line,76}]},{upload_trailer_resource,stream_upload_file,4,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,247}]},{upload_trailer_resource,upload_file,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;}
+</I>&gt;<i> &gt; &gt; &gt; ,{line,237}]},{upload_trailer_resource,head_or_post,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,202}]},{upload_trailer_resource,sequence,2,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,106}]},{upload_trailer_resource,process_request,1,[{file,&quot;src/endpo
+</I>&gt;<i> &gt; &gt; &gt; ints/upload_trailer_resource.erl&quot;},{line,212}]},{i_cowboy,do,3,[{file,&quot;src/i_cowboy.erl&quot;},{line,29}]},{cowboy_handler,handler_handle,4,[{file,&quot;src/cowboy_handler.erl&quot;},{line,119}]}]
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; --
+</I>&gt;<i> &gt; &gt; &gt; Dr Adrian Roe
+</I>&gt;<i> &gt; &gt; &gt; Director
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; _______________________________________________
+</I>&gt;<i> &gt; &gt; &gt; Extend mailing list
+</I>&gt;<i> &gt; &gt; &gt; <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> &lt;mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>&gt;
+</I>&gt;<i> &gt; &gt; &gt; <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt; --
+</I>&gt;<i> &gt; &gt; Lo&#239;c Hoguin
+</I>&gt;<i> &gt; &gt; Erlang Cowboy
+</I>&gt;<i> &gt; &gt; Nine Nines
+</I>&gt;<i> &gt; &gt; <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt;
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Lo&#239;c Hoguin
+</I>&gt;<i> Erlang Cowboy
+</I>&gt;<i> Nine Nines
+</I>&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>
+
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: &lt;<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20130718/79e075b8/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20130718/79e075b8/attachment.html</A>&gt;
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#159">[ date ]</a>
+ <a href="thread.html#159">[ thread ]</a>
+ <a href="subject.html#159">[ subject ]</a>
+ <a href="author.html#159">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000160.html b/archives/extend/2013-July/000160.html
new file mode 100644
index 00000000..695cdbcc
--- /dev/null
+++ b/archives/extend/2013-July/000160.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy handler linked processes
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C51E7C595.5050905%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000159.html">
+ <LINK REL="Next" HREF="000161.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy handler linked processes</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C51E7C595.5050905%40ninenines.eu%3E"
+ TITLE="[99s-extend] Cowboy handler linked processes">essen at ninenines.eu
+ </A><BR>
+ <I>Thu Jul 18 12:38:13 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#160">[ date ]</a>
+ <a href="thread.html#160">[ thread ]</a>
+ <a href="subject.html#160">[ subject ]</a>
+ <a href="author.html#160">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>If you got time sure, I won't have much time until Monday. Have fun!
+
+On 07/18/2013 12:37 PM, Adrian Roe wrote:
+&gt;<i> That would be perfect! Do you want me to make the change and issue a
+</I>&gt;<i> pull request?
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Dr Adrian Roe
+</I>&gt;<i> Director
+</I>&gt;<i>
+</I>&gt;<i> On Thursday, 18 July 2013 at 11:36, Lo&#239;c Hoguin wrote:
+</I>&gt;<i>
+</I>&gt;&gt;<i> I don't think the problem is that the handler is reused, we don't reuse
+</I>&gt;&gt;<i> them if there's an error. However we do catch errors to print them in
+</I>&gt;&gt;<i> the logs, and then the process stops normally. If you link without
+</I>&gt;&gt;<i> trap_exit you receive a normal exit signal which is ignored and doesn't
+</I>&gt;&gt;<i> kill your process. I suppose we should throw an exit signal when we got
+</I>&gt;&gt;<i> an error, after logging everything, instead of stopping normally.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On 07/18/2013 12:31 PM, Adrian Roe wrote:
+</I>&gt;&gt;&gt;<i> My issue is the other way round. My handler crashes - and terminate
+</I>&gt;&gt;&gt;<i> gets called, but the linked process is NOT stopped (unless I stop it in
+</I>&gt;&gt;&gt;<i> terminate having stashed any processes I need to stop in the process
+</I>&gt;&gt;&gt;<i> dictionary - this is what I'm currently doing, but yuck!)
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> . My question is whether it wouldn't be better to no re-use the handler
+</I>&gt;&gt;&gt;<i> process that has crashed and replace it so that handler's can use the
+</I>&gt;&gt;&gt;<i> canonical erlang way of stopping related processes rather than having to
+</I>&gt;&gt;&gt;<i> do it by hand.
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Obviously if the handler does not crash there's no need to kill the
+</I>&gt;&gt;&gt;<i> process, so the current efficiency saving works in the &quot;normal&quot; case/
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;<i> Dr Adrian Roe
+</I>&gt;&gt;&gt;<i> Director
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> On Thursday, 18 July 2013 at 11:20, Lo&#239;c Hoguin wrote:
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> I don't know what happens but there's two things I know:
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> * Handlers don't trap_exit, so if the linked process crashes, they
+</I>&gt;&gt;&gt;&gt;<i> crash too
+</I>&gt;&gt;&gt;&gt;<i> * If the handler crashes, we close the connection and stop the
+</I>&gt;&gt;&gt;&gt;<i> handler; if not this is a bug
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> After your log message the handler should stop unless there's a bug
+</I>&gt;&gt;&gt;&gt;<i> somewhere.
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> On 07/18/2013 12:15 PM, Adrian Roe wrote:
+</I>&gt;&gt;&gt;&gt;&gt;<i> We have been using spawn_linked workers to handle tasks that live for
+</I>&gt;&gt;&gt;&gt;&gt;<i> the lifetime of a single HTTP request
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> Although in the cowboy guide it is clear that Cowboy can use &quot;One
+</I>&gt;&gt;&gt;&gt;&gt;<i> Process of Many Requests&quot; I am surprised that this is the case even if
+</I>&gt;&gt;&gt;&gt;&gt;<i> the handler crashes. For example, our use case is to copy a large file
+</I>&gt;&gt;&gt;&gt;&gt;<i> to the server over HTTP where a worker process relays the file contents
+</I>&gt;&gt;&gt;&gt;&gt;<i> to long term storage. The worker process is spawn_linked from the HTTP
+</I>&gt;&gt;&gt;&gt;&gt;<i> handler and (for our use case) should die if the handler stops.
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> If the client stops the upload (for example by browsing away, or losing
+</I>&gt;&gt;&gt;&gt;&gt;<i> connectivity) we correctly receive an error (see sample Lager trace
+</I>&gt;&gt;&gt;&gt;&gt;<i> below), but what we are seeing is that spawn_linked processes are NOT
+</I>&gt;&gt;&gt;&gt;&gt;<i> being killed.
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> Is this intended behaviour - I accept it makes sense to reuse the
+</I>&gt;&gt;&gt;&gt;&gt;<i> processes but should this continue to be the case even if the previous
+</I>&gt;&gt;&gt;&gt;&gt;<i> use of the process crashed? If it is intended behaviour I think the
+</I>&gt;&gt;&gt;&gt;&gt;<i> docs should highlight this as we've been leaking processes for some
+</I>&gt;&gt;&gt;&gt;&gt;<i> time
+</I>&gt;&gt;&gt;&gt;&gt;<i> now, but I've always seen it as erlang's job to look after related
+</I>&gt;&gt;&gt;&gt;&gt;<i> process trees in the event of error. Our current workaround is to hold
+</I>&gt;&gt;&gt;&gt;&gt;<i> a list of linked processes in process storage and then kill them in the
+</I>&gt;&gt;&gt;&gt;&gt;<i> terminate handler which is ugly in the extreme!! We don't know the PIDS
+</I>&gt;&gt;&gt;&gt;&gt;<i> of the linked processes until it is too late to return State to Cowboy
+</I>&gt;&gt;&gt;&gt;&gt;<i> (i.e. we are already in our handle code)...
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> Kind regards
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> Adrian
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> 16:09:32.347 [info] Trailer upload failed with reason
+</I>&gt;&gt;&gt;&gt;&gt;<i> {case_clause,{error,closed}}
+</I>&gt;&gt;&gt;&gt;&gt;<i> 16:09:32.348 [error] ** Cowboy handler upload_trailer_resource
+</I>&gt;&gt;&gt;&gt;&gt;<i> terminating in handle/2
+</I>&gt;&gt;&gt;&gt;&gt;<i> for the reason error:{case_clause,{error,closed}}
+</I>&gt;&gt;&gt;&gt;&gt;<i> ** Handler state was {state,undefined,0,undefined,undefined,undefined}
+</I>&gt;&gt;&gt;&gt;&gt;<i> ** Request was
+</I>&gt;&gt;&gt;&gt;&gt;<i> [{socket,#Port&lt;0.11230&gt;},{transport,ranch_tcp},{connection,keepalive},{pid,&lt;0.1987.0&gt;},{method,&lt;&lt;&quot;POST&quot;&gt;&gt;},{version,'HTTP/1.1'},{peer,{{84,92,32,116},64136}},{host,&lt;&lt;&quot;54.225.117.108&quot;&gt;&gt;},{host_info,undefined},{port,8000},{path,&lt;&lt;&quot;/upload_trailer&quot;&gt;&gt;},{path_info,undef
+</I>&gt;&gt;&gt;&gt;&gt;<i> ined},{qs,&lt;&lt;&quot;name=linux-7.4.21.zip&amp;size=54015414&quot;&gt;&gt;},{qs_vals,undefined},{bindings,[]},{headers,[{&lt;&lt;&quot;host&quot;&gt;&gt;,&lt;&lt;&quot;54.225.117.108:8000&quot;&gt;&gt;},{&lt;&lt;&quot;connection&quot;&gt;&gt;,&lt;&lt;&quot;keep-alive&quot;&gt;&gt;},{&lt;&lt;&quot;content-length&quot;&gt;&gt;,&lt;&lt;&quot;54015414&quot;&gt;&gt;},{&lt;&lt;&quot;origin&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000">http://54.225.117.108:8000</A>&quot;&gt;&gt;},{&lt;&lt;&quot;user-agent&quot;&gt;&gt;,&lt;&lt;&quot;M
+</I>&gt;&gt;&gt;&gt;&gt;<i> ozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36
+</I>&gt;&gt;&gt;&gt;&gt;<i> (KHTML,
+</I>&gt;&gt;&gt;&gt;&gt;<i> like Gecko) Chrome/28.0.1500.71
+</I>&gt;&gt;&gt;&gt;&gt;<i> Safari/537.36&quot;&gt;&gt;},{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&lt;&lt;&gt;&gt;},{&lt;&lt;&quot;accept&quot;&gt;&gt;,&lt;&lt;&quot;*/*&quot;&gt;&gt;},{&lt;&lt;&quot;referer&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000/">http://54.225.117.108:8000/</A>&quot;&gt;&gt;},{&lt;&lt;&quot;accept-encoding&quot;&gt;&gt;,&lt;&lt;&quot;gzip,deflate,sdch&quot;&gt;&gt;},{&lt;&lt;&quot;acce
+</I>&gt;&gt;&gt;&gt;&gt;<i> pt-language&quot;&gt;&gt;,&lt;&lt;&quot;en-US,en;q=0.8&quot;&gt;&gt;},{&lt;&lt;&quot;cookie&quot;&gt;&gt;,&lt;&lt;&quot;__jwpusr=cbc133d7-1b49-443c-8a13-364660cc93e5;
+</I>&gt;&gt;&gt;&gt;&gt;<i> id3as_manager=f4803c004d71dde3b64394f6e6f44faa54970e93&quot;&gt;&gt;}]},{p_headers,[{&lt;&lt;&quot;connection&quot;&gt;&gt;,[&lt;&lt;&quot;keep-alive&quot;&gt;&gt;]}]},{cookies,undefined},{meta,[]},{body_state,waiting},{multipart,unde
+</I>&gt;&gt;&gt;&gt;&gt;<i> fined},{buffer,&lt;&lt;&gt;&gt;},{resp_compress,true},{resp_state,waiting},{resp_headers,[]},{resp_body,&lt;&lt;&gt;&gt;},{onresponse,undefined}]
+</I>&gt;&gt;&gt;&gt;&gt;<i> ** Stacktrace:
+</I>&gt;&gt;&gt;&gt;&gt;<i> [{i_cowboy,stream_body,0,[{file,&quot;src/i_cowboy.erl&quot;},{line,76}]},{upload_trailer_resource,stream_upload_file,4,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,247}]},{upload_trailer_resource,upload_file,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;}
+</I>&gt;&gt;&gt;&gt;&gt;<i> ,{line,237}]},{upload_trailer_resource,head_or_post,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,202}]},{upload_trailer_resource,sequence,2,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,106}]},{upload_trailer_resource,process_request,1,[{file,&quot;src/endpo
+</I>&gt;&gt;&gt;&gt;&gt;<i> ints/upload_trailer_resource.erl&quot;},{line,212}]},{i_cowboy,do,3,[{file,&quot;src/i_cowboy.erl&quot;},{line,29}]},{cowboy_handler,handler_handle,4,[{file,&quot;src/cowboy_handler.erl&quot;},{line,119}]}]
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;&gt;&gt;<i> Dr Adrian Roe
+</I>&gt;&gt;&gt;&gt;&gt;<i> Director
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> _______________________________________________
+</I>&gt;&gt;&gt;&gt;&gt;<i> Extend mailing list
+</I>&gt;&gt;&gt;&gt;&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> &lt;mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>&gt;
+</I>&gt;&gt;&gt;&gt;&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> --
+</I>&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i>
+</I>
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#160">[ date ]</a>
+ <a href="thread.html#160">[ thread ]</a>
+ <a href="subject.html#160">[ subject ]</a>
+ <a href="author.html#160">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000161.html b/archives/extend/2013-July/000161.html
new file mode 100644
index 00000000..1ed557be
--- /dev/null
+++ b/archives/extend/2013-July/000161.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy handler linked processes
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C545C0D63E95147B48DA892A0ECB4382E%40id3as.co.uk%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000160.html">
+ <LINK REL="Next" HREF="000162.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy handler linked processes</H1>
+ <B>Adrian Roe</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20handler%20linked%20processes&In-Reply-To=%3C545C0D63E95147B48DA892A0ECB4382E%40id3as.co.uk%3E"
+ TITLE="[99s-extend] Cowboy handler linked processes">adrian at id3as.co.uk
+ </A><BR>
+ <I>Thu Jul 18 19:55:20 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#161">[ date ]</a>
+ <a href="thread.html#161">[ thread ]</a>
+ <a href="subject.html#161">[ subject ]</a>
+ <a href="author.html#161">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>I suspect it's just a case of adding a throw to error_terminate in cowboy_protocol, maybe with threading the reason back (though I don't really care what's thrown), but also fear there may be unintended consequences as all I've done is skim your code briefly! If you are able to look at it then great - if not I'll muddle through. I'm travelling so it would be mid next week at the earliest anyway.
+
+Cheers
+
+Adrian
+
+--
+Dr Adrian Roe
+Director
+
+
+On Thursday, 18 July 2013 at 11:38, Lo&#239;c Hoguin wrote:
+
+&gt;<i> If you got time sure, I won't have much time until Monday. Have fun!
+</I>&gt;<i>
+</I>&gt;<i> On 07/18/2013 12:37 PM, Adrian Roe wrote:
+</I>&gt;<i> &gt; That would be perfect! Do you want me to make the change and issue a
+</I>&gt;<i> &gt; pull request?
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; --
+</I>&gt;<i> &gt; Dr Adrian Roe
+</I>&gt;<i> &gt; Director
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; On Thursday, 18 July 2013 at 11:36, Lo&#239;c Hoguin wrote:
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; &gt; I don't think the problem is that the handler is reused, we don't reuse
+</I>&gt;<i> &gt; &gt; them if there's an error. However we do catch errors to print them in
+</I>&gt;<i> &gt; &gt; the logs, and then the process stops normally. If you link without
+</I>&gt;<i> &gt; &gt; trap_exit you receive a normal exit signal which is ignored and doesn't
+</I>&gt;<i> &gt; &gt; kill your process. I suppose we should throw an exit signal when we got
+</I>&gt;<i> &gt; &gt; an error, after logging everything, instead of stopping normally.
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt; On 07/18/2013 12:31 PM, Adrian Roe wrote:
+</I>&gt;<i> &gt; &gt; &gt; My issue is the other way round. My handler crashes - and terminate
+</I>&gt;<i> &gt; &gt; &gt; gets called, but the linked process is NOT stopped (unless I stop it in
+</I>&gt;<i> &gt; &gt; &gt; terminate having stashed any processes I need to stop in the process
+</I>&gt;<i> &gt; &gt; &gt; dictionary - this is what I'm currently doing, but yuck!)
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; . My question is whether it wouldn't be better to no re-use the handler
+</I>&gt;<i> &gt; &gt; &gt; process that has crashed and replace it so that handler's can use the
+</I>&gt;<i> &gt; &gt; &gt; canonical erlang way of stopping related processes rather than having to
+</I>&gt;<i> &gt; &gt; &gt; do it by hand.
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; Obviously if the handler does not crash there's no need to kill the
+</I>&gt;<i> &gt; &gt; &gt; process, so the current efficiency saving works in the &quot;normal&quot; case/
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; --
+</I>&gt;<i> &gt; &gt; &gt; Dr Adrian Roe
+</I>&gt;<i> &gt; &gt; &gt; Director
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; On Thursday, 18 July 2013 at 11:20, Lo&#239;c Hoguin wrote:
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; I don't know what happens but there's two things I know:
+</I>&gt;<i> &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; * Handlers don't trap_exit, so if the linked process crashes, they
+</I>&gt;<i> &gt; &gt; &gt; &gt; crash too
+</I>&gt;<i> &gt; &gt; &gt; &gt; * If the handler crashes, we close the connection and stop the
+</I>&gt;<i> &gt; &gt; &gt; &gt; handler; if not this is a bug
+</I>&gt;<i> &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; After your log message the handler should stop unless there's a bug
+</I>&gt;<i> &gt; &gt; &gt; &gt; somewhere.
+</I>&gt;<i> &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; On 07/18/2013 12:15 PM, Adrian Roe wrote:
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; We have been using spawn_linked workers to handle tasks that live for
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; the lifetime of a single HTTP request
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Although in the cowboy guide it is clear that Cowboy can use &quot;One
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Process of Many Requests&quot; I am surprised that this is the case even if
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; the handler crashes. For example, our use case is to copy a large file
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; to the server over HTTP where a worker process relays the file contents
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; to long term storage. The worker process is spawn_linked from the HTTP
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; handler and (for our use case) should die if the handler stops.
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; If the client stops the upload (for example by browsing away, or losing
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; connectivity) we correctly receive an error (see sample Lager trace
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; below), but what we are seeing is that spawn_linked processes are NOT
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; being killed.
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Is this intended behaviour - I accept it makes sense to reuse the
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; processes but should this continue to be the case even if the previous
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; use of the process crashed? If it is intended behaviour I think the
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; docs should highlight this as we've been leaking processes for some
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; time
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; now, but I've always seen it as erlang's job to look after related
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; process trees in the event of error. Our current workaround is to hold
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; a list of linked processes in process storage and then kill them in the
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; terminate handler which is ugly in the extreme!! We don't know the PIDS
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; of the linked processes until it is too late to return State to Cowboy
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; (i.e. we are already in our handle code)...
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Kind regards
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Adrian
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; 16:09:32.347 [info] Trailer upload failed with reason
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; {case_clause,{error,closed}}
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; 16:09:32.348 [error] ** Cowboy handler upload_trailer_resource
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; terminating in handle/2
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; for the reason error:{case_clause,{error,closed}}
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; ** Handler state was {state,undefined,0,undefined,undefined,undefined}
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; ** Request was
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; [{socket,#Port&lt;0.11230&gt;},{transport,ranch_tcp},{connection,keepalive},{pid,&lt;0.1987.0&gt;},{method,&lt;&lt;&quot;POST&quot;&gt;&gt;},{version,'HTTP/1.1'},{peer,{{84,92,32,116},64136}},{host,&lt;&lt;&quot;54.225.117.108&quot;&gt;&gt;},{host_info,undefined},{port,8000},{path,&lt;&lt;&quot;/upload_trailer&quot;&gt;&gt;},{path_info,undef
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; ined},{qs,&lt;&lt;&quot;name=linux-7.4.21.zip&amp;size=54015414&quot;&gt;&gt;},{qs_vals,undefined},{bindings,[]},{headers,[{&lt;&lt;&quot;host&quot;&gt;&gt;,&lt;&lt;&quot;54.225.117.108:8000&quot;&gt;&gt;},{&lt;&lt;&quot;connection&quot;&gt;&gt;,&lt;&lt;&quot;keep-alive&quot;&gt;&gt;},{&lt;&lt;&quot;content-length&quot;&gt;&gt;,&lt;&lt;&quot;54015414&quot;&gt;&gt;},{&lt;&lt;&quot;origin&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000">http://54.225.117.108:8000</A>&quot;&gt;&gt;},{&lt;&lt;&quot;user-agent&quot;&gt;&gt;,&lt;&lt;&quot;M
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; ozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; (KHTML,
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; like Gecko) Chrome/28.0.1500.71
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Safari/537.36&quot;&gt;&gt;},{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&lt;&lt;&gt;&gt;},{&lt;&lt;&quot;accept&quot;&gt;&gt;,&lt;&lt;&quot;*/*&quot;&gt;&gt;},{&lt;&lt;&quot;referer&quot;&gt;&gt;,&lt;&lt;&quot;<A HREF="http://54.225.117.108:8000/">http://54.225.117.108:8000/</A>&quot;&gt;&gt;},{&lt;&lt;&quot;accept-encoding&quot;&gt;&gt;,&lt;&lt;&quot;gzip,deflate,sdch&quot;&gt;&gt;},{&lt;&lt;&quot;acce
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; pt-language&quot;&gt;&gt;,&lt;&lt;&quot;en-US,en;q=0.8&quot;&gt;&gt;},{&lt;&lt;&quot;cookie&quot;&gt;&gt;,&lt;&lt;&quot;__jwpusr=cbc133d7-1b49-443c-8a13-364660cc93e5;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; id3as_manager=f4803c004d71dde3b64394f6e6f44faa54970e93&quot;&gt;&gt;}]},{p_headers,[{&lt;&lt;&quot;connection&quot;&gt;&gt;,[&lt;&lt;&quot;keep-alive&quot;&gt;&gt;]}]},{cookies,undefined},{meta,[]},{body_state,waiting},{multipart,unde
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; fined},{buffer,&lt;&lt;&gt;&gt;},{resp_compress,true},{resp_state,waiting},{resp_headers,[]},{resp_body,&lt;&lt;&gt;&gt;},{onresponse,undefined}]
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; ** Stacktrace:
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; [{i_cowboy,stream_body,0,[{file,&quot;src/i_cowboy.erl&quot;},{line,76}]},{upload_trailer_resource,stream_upload_file,4,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,247}]},{upload_trailer_resource,upload_file,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;}
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; ,{line,237}]},{upload_trailer_resource,head_or_post,1,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,202}]},{upload_trailer_resource,sequence,2,[{file,&quot;src/endpoints/upload_trailer_resource.erl&quot;},{line,106}]},{upload_trailer_resource,process_request,1,[{file,&quot;src/endpo
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; ints/upload_trailer_resource.erl&quot;},{line,212}]},{i_cowboy,do,3,[{file,&quot;src/i_cowboy.erl&quot;},{line,29}]},{cowboy_handler,handler_handle,4,[{file,&quot;src/cowboy_handler.erl&quot;},{line,119}]}]
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; --
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Dr Adrian Roe
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Director
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; _______________________________________________
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; Extend mailing list
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> &lt;mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>&gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt; <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;<i> &gt; &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt; &gt; --
+</I>&gt;<i> &gt; &gt; &gt; &gt; Lo&#239;c Hoguin
+</I>&gt;<i> &gt; &gt; &gt; &gt; Erlang Cowboy
+</I>&gt;<i> &gt; &gt; &gt; &gt; Nine Nines
+</I>&gt;<i> &gt; &gt; &gt; &gt; <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i> &gt; &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt; &gt;
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt; &gt; --
+</I>&gt;<i> &gt; &gt; Lo&#239;c Hoguin
+</I>&gt;<i> &gt; &gt; Erlang Cowboy
+</I>&gt;<i> &gt; &gt; Nine Nines
+</I>&gt;<i> &gt; &gt; <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i> &gt; &gt;
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt;
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Lo&#239;c Hoguin
+</I>&gt;<i> Erlang Cowboy
+</I>&gt;<i> Nine Nines
+</I>&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>
+
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: &lt;<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20130718/a3961a6f/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20130718/a3961a6f/attachment.html</A>&gt;
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#161">[ date ]</a>
+ <a href="thread.html#161">[ thread ]</a>
+ <a href="subject.html#161">[ subject ]</a>
+ <a href="author.html#161">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000162.html b/archives/extend/2013-July/000162.html
new file mode 100644
index 00000000..45870ad9
--- /dev/null
+++ b/archives/extend/2013-July/000162.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy HTTPS Issue
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C420FF871-86CC-4956-924A-514047C614EB%40gmail.com%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000161.html">
+ <LINK REL="Next" HREF="000163.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy HTTPS Issue</H1>
+ <B>Lee Sylvester</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C420FF871-86CC-4956-924A-514047C614EB%40gmail.com%3E"
+ TITLE="[99s-extend] Cowboy HTTPS Issue">lee.sylvester at gmail.com
+ </A><BR>
+ <I>Tue Jul 23 15:12:08 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#162">[ date ]</a>
+ <a href="thread.html#162">[ thread ]</a>
+ <a href="subject.html#162">[ subject ]</a>
+ <a href="author.html#162">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Hi guys,
+
+So, I'm trying to run Cowboy with SSL, but keep getting an error with the SSL module:
+
+application: ssl
+ exited: {bad_return,
+ {{ssl_app,start,[normal,[]]},
+ {'EXIT',
+ {undef,
+ [{ssl_app,start,[normal,[]],[]},
+ {application_master,start_it_old,4,
+ [{file,&quot;application_master.erl&quot;},
+ {line,274}]}]}}}}
+ type: temporary
+
+
+The way I'm starting Cowboy is like this:
+
+ Env = [
+ {env, [{dispatch, Dispatch}]},
+ {onrequest, fun http_utils:set_request_cors/1}
+ ],
+
+ case http_server:is_secure() of
+ true -&gt;
+ cowboy:start_https(https, 100, [
+ {ip, Ip}, {port, Port},
+ {certfile, binary_to_list(http_server:secure_cert())},
+ {keyfile, binary_to_list(http_server:secure_key())},
+ {reuseaddr, true},
+ {fail_if_no_peer_cert, true}
+ ], Env);
+ _ -&gt;
+ {ok, _} = cowboy:start_http(http, 100, Options, Env)
+ end,
+
+Does anyone know why I might be getting this issue?
+
+Thanks,
+Lee
+
+
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A></li>
+ <LI>Next message: <A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#162">[ date ]</a>
+ <a href="thread.html#162">[ thread ]</a>
+ <a href="subject.html#162">[ subject ]</a>
+ <a href="author.html#162">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000163.html b/archives/extend/2013-July/000163.html
new file mode 100644
index 00000000..188507a8
--- /dev/null
+++ b/archives/extend/2013-July/000163.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy HTTPS Issue
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C51EE8816.1040801%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000162.html">
+ <LINK REL="Next" HREF="000164.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy HTTPS Issue</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C51EE8816.1040801%40ninenines.eu%3E"
+ TITLE="[99s-extend] Cowboy HTTPS Issue">essen at ninenines.eu
+ </A><BR>
+ <I>Tue Jul 23 15:41:42 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#163">[ date ]</a>
+ <a href="thread.html#163">[ thread ]</a>
+ <a href="subject.html#163">[ subject ]</a>
+ <a href="author.html#163">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>You need to include and start the public_key and ssl applications.
+
+On 07/23/2013 03:12 PM, Lee Sylvester wrote:
+&gt;<i> Hi guys,
+</I>&gt;<i>
+</I>&gt;<i> So, I'm trying to run Cowboy with SSL, but keep getting an error with the SSL module:
+</I>&gt;<i>
+</I>&gt;<i> application: ssl
+</I>&gt;<i> exited: {bad_return,
+</I>&gt;<i> {{ssl_app,start,[normal,[]]},
+</I>&gt;<i> {'EXIT',
+</I>&gt;<i> {undef,
+</I>&gt;<i> [{ssl_app,start,[normal,[]],[]},
+</I>&gt;<i> {application_master,start_it_old,4,
+</I>&gt;<i> [{file,&quot;application_master.erl&quot;},
+</I>&gt;<i> {line,274}]}]}}}}
+</I>&gt;<i> type: temporary
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> The way I'm starting Cowboy is like this:
+</I>&gt;<i>
+</I>&gt;<i> Env = [
+</I>&gt;<i> {env, [{dispatch, Dispatch}]},
+</I>&gt;<i> {onrequest, fun http_utils:set_request_cors/1}
+</I>&gt;<i> ],
+</I>&gt;<i>
+</I>&gt;<i> case http_server:is_secure() of
+</I>&gt;<i> true -&gt;
+</I>&gt;<i> cowboy:start_https(https, 100, [
+</I>&gt;<i> {ip, Ip}, {port, Port},
+</I>&gt;<i> {certfile, binary_to_list(http_server:secure_cert())},
+</I>&gt;<i> {keyfile, binary_to_list(http_server:secure_key())},
+</I>&gt;<i> {reuseaddr, true},
+</I>&gt;<i> {fail_if_no_peer_cert, true}
+</I>&gt;<i> ], Env);
+</I>&gt;<i> _ -&gt;
+</I>&gt;<i> {ok, _} = cowboy:start_http(http, 100, Options, Env)
+</I>&gt;<i> end,
+</I>&gt;<i>
+</I>&gt;<i> Does anyone know why I might be getting this issue?
+</I>&gt;<i>
+</I>&gt;<i> Thanks,
+</I>&gt;<i> Lee
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> _______________________________________________
+</I>&gt;<i> Extend mailing list
+</I>&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;<i>
+</I>
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#163">[ date ]</a>
+ <a href="thread.html#163">[ thread ]</a>
+ <a href="subject.html#163">[ subject ]</a>
+ <a href="author.html#163">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000164.html b/archives/extend/2013-July/000164.html
new file mode 100644
index 00000000..6e053e04
--- /dev/null
+++ b/archives/extend/2013-July/000164.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy HTTPS Issue
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3CCC9B7706-2788-4614-9740-C8149FCD3FD2%40gmail.com%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000163.html">
+ <LINK REL="Next" HREF="000165.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy HTTPS Issue</H1>
+ <B>Lee Sylvester</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3CCC9B7706-2788-4614-9740-C8149FCD3FD2%40gmail.com%3E"
+ TITLE="[99s-extend] Cowboy HTTPS Issue">lee.sylvester at gmail.com
+ </A><BR>
+ <I>Tue Jul 23 15:59:00 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#164">[ date ]</a>
+ <a href="thread.html#164">[ thread ]</a>
+ <a href="subject.html#164">[ subject ]</a>
+ <a href="author.html#164">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Thank you, Loic. I'd forgotten to update my releases folder.
+
+I now have it running, but when I access an endpoint, I get
+
+=ERROR REPORT==== 23-Jul-2013::09:56:29 ===
+SSL: 1159: error:[&lt;&lt;48,130,6,220,48,130,5,196,160,3,2,1,2,2,16,15,199,72,40,33,
+ 126,49,13, [snip] 45,193&gt;&gt;,
+ &lt;&lt;48,130,6 [snip] 118,247,97&gt;&gt;] /usr/certs/cert.pem
+ [{ssl_connection,init_certificates,8,
+ [{file,&quot;ssl_connection.erl&quot;},{line,1155}]},
+ {ssl_connection,ssl_init,2,[{file,&quot;ssl_connection.erl&quot;},{line,1110}]},
+ {ssl_connection,init,1,[{file,&quot;ssl_connection.erl&quot;},{line,303}]},
+ {proc_lib,init_p_do_apply,3,[{file,&quot;proc_lib.erl&quot;},{line,239}]}]
+
+Not a very helpful error. I'm assuming the cert isn't being accepted by the SSL module?
+
+Thanks,
+Lee
+
+
+
+On 23 Jul 2013, at 14:41, Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt; wrote:
+
+&gt;<i> You need to include and start the public_key and ssl applications.
+</I>&gt;<i>
+</I>&gt;<i> On 07/23/2013 03:12 PM, Lee Sylvester wrote:
+</I>&gt;&gt;<i> Hi guys,
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> So, I'm trying to run Cowboy with SSL, but keep getting an error with the SSL module:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> application: ssl
+</I>&gt;&gt;<i> exited: {bad_return,
+</I>&gt;&gt;<i> {{ssl_app,start,[normal,[]]},
+</I>&gt;&gt;<i> {'EXIT',
+</I>&gt;&gt;<i> {undef,
+</I>&gt;&gt;<i> [{ssl_app,start,[normal,[]],[]},
+</I>&gt;&gt;<i> {application_master,start_it_old,4,
+</I>&gt;&gt;<i> [{file,&quot;application_master.erl&quot;},
+</I>&gt;&gt;<i> {line,274}]}]}}}}
+</I>&gt;&gt;<i> type: temporary
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> The way I'm starting Cowboy is like this:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Env = [
+</I>&gt;&gt;<i> {env, [{dispatch, Dispatch}]},
+</I>&gt;&gt;<i> {onrequest, fun http_utils:set_request_cors/1}
+</I>&gt;&gt;<i> ],
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> case http_server:is_secure() of
+</I>&gt;&gt;<i> true -&gt;
+</I>&gt;&gt;<i> cowboy:start_https(https, 100, [
+</I>&gt;&gt;<i> {ip, Ip}, {port, Port},
+</I>&gt;&gt;<i> {certfile, binary_to_list(http_server:secure_cert())},
+</I>&gt;&gt;<i> {keyfile, binary_to_list(http_server:secure_key())},
+</I>&gt;&gt;<i> {reuseaddr, true},
+</I>&gt;&gt;<i> {fail_if_no_peer_cert, true}
+</I>&gt;&gt;<i> ], Env);
+</I>&gt;&gt;<i> _ -&gt;
+</I>&gt;&gt;<i> {ok, _} = cowboy:start_http(http, 100, Options, Env)
+</I>&gt;&gt;<i> end,
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Does anyone know why I might be getting this issue?
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Thanks,
+</I>&gt;&gt;<i> Lee
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> _______________________________________________
+</I>&gt;&gt;<i> Extend mailing list
+</I>&gt;&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Lo&#239;c Hoguin
+</I>&gt;<i> Erlang Cowboy
+</I>&gt;<i> Nine Nines
+</I>&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#164">[ date ]</a>
+ <a href="thread.html#164">[ thread ]</a>
+ <a href="subject.html#164">[ subject ]</a>
+ <a href="author.html#164">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000165.html b/archives/extend/2013-July/000165.html
new file mode 100644
index 00000000..7466d83e
--- /dev/null
+++ b/archives/extend/2013-July/000165.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy HTTPS Issue
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C51EE8C6D.5060601%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000164.html">
+ <LINK REL="Next" HREF="000166.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy HTTPS Issue</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C51EE8C6D.5060601%40ninenines.eu%3E"
+ TITLE="[99s-extend] Cowboy HTTPS Issue">essen at ninenines.eu
+ </A><BR>
+ <I>Tue Jul 23 16:00:13 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#165">[ date ]</a>
+ <a href="thread.html#165">[ thread ]</a>
+ <a href="subject.html#165">[ subject ]</a>
+ <a href="author.html#165">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>No idea. You'll probably have more luck asking erlang-questions for SSL
+issues.
+
+On 07/23/2013 03:59 PM, Lee Sylvester wrote:
+&gt;<i> Thank you, Loic. I'd forgotten to update my releases folder.
+</I>&gt;<i>
+</I>&gt;<i> I now have it running, but when I access an endpoint, I get
+</I>&gt;<i>
+</I>&gt;<i> =ERROR REPORT==== 23-Jul-2013::09:56:29 ===
+</I>&gt;<i> SSL: 1159: error:[&lt;&lt;48,130,6,220,48,130,5,196,160,3,2,1,2,2,16,15,199,72,40,33,
+</I>&gt;<i> 126,49,13, [snip] 45,193&gt;&gt;,
+</I>&gt;<i> &lt;&lt;48,130,6 [snip] 118,247,97&gt;&gt;] /usr/certs/cert.pem
+</I>&gt;<i> [{ssl_connection,init_certificates,8,
+</I>&gt;<i> [{file,&quot;ssl_connection.erl&quot;},{line,1155}]},
+</I>&gt;<i> {ssl_connection,ssl_init,2,[{file,&quot;ssl_connection.erl&quot;},{line,1110}]},
+</I>&gt;<i> {ssl_connection,init,1,[{file,&quot;ssl_connection.erl&quot;},{line,303}]},
+</I>&gt;<i> {proc_lib,init_p_do_apply,3,[{file,&quot;proc_lib.erl&quot;},{line,239}]}]
+</I>&gt;<i>
+</I>&gt;<i> Not a very helpful error. I'm assuming the cert isn't being accepted by the SSL module?
+</I>&gt;<i>
+</I>&gt;<i> Thanks,
+</I>&gt;<i> Lee
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> On 23 Jul 2013, at 14:41, Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt; wrote:
+</I>&gt;<i>
+</I>&gt;&gt;<i> You need to include and start the public_key and ssl applications.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On 07/23/2013 03:12 PM, Lee Sylvester wrote:
+</I>&gt;&gt;&gt;<i> Hi guys,
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> So, I'm trying to run Cowboy with SSL, but keep getting an error with the SSL module:
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> application: ssl
+</I>&gt;&gt;&gt;<i> exited: {bad_return,
+</I>&gt;&gt;&gt;<i> {{ssl_app,start,[normal,[]]},
+</I>&gt;&gt;&gt;<i> {'EXIT',
+</I>&gt;&gt;&gt;<i> {undef,
+</I>&gt;&gt;&gt;<i> [{ssl_app,start,[normal,[]],[]},
+</I>&gt;&gt;&gt;<i> {application_master,start_it_old,4,
+</I>&gt;&gt;&gt;<i> [{file,&quot;application_master.erl&quot;},
+</I>&gt;&gt;&gt;<i> {line,274}]}]}}}}
+</I>&gt;&gt;&gt;<i> type: temporary
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> The way I'm starting Cowboy is like this:
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Env = [
+</I>&gt;&gt;&gt;<i> {env, [{dispatch, Dispatch}]},
+</I>&gt;&gt;&gt;<i> {onrequest, fun http_utils:set_request_cors/1}
+</I>&gt;&gt;&gt;<i> ],
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> case http_server:is_secure() of
+</I>&gt;&gt;&gt;<i> true -&gt;
+</I>&gt;&gt;&gt;<i> cowboy:start_https(https, 100, [
+</I>&gt;&gt;&gt;<i> {ip, Ip}, {port, Port},
+</I>&gt;&gt;&gt;<i> {certfile, binary_to_list(http_server:secure_cert())},
+</I>&gt;&gt;&gt;<i> {keyfile, binary_to_list(http_server:secure_key())},
+</I>&gt;&gt;&gt;<i> {reuseaddr, true},
+</I>&gt;&gt;&gt;<i> {fail_if_no_peer_cert, true}
+</I>&gt;&gt;&gt;<i> ], Env);
+</I>&gt;&gt;&gt;<i> _ -&gt;
+</I>&gt;&gt;&gt;<i> {ok, _} = cowboy:start_http(http, 100, Options, Env)
+</I>&gt;&gt;&gt;<i> end,
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Does anyone know why I might be getting this issue?
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Thanks,
+</I>&gt;&gt;&gt;<i> Lee
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> _______________________________________________
+</I>&gt;&gt;&gt;<i> Extend mailing list
+</I>&gt;&gt;&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;&gt;&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> --
+</I>&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i>
+</I>
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#165">[ date ]</a>
+ <a href="thread.html#165">[ thread ]</a>
+ <a href="subject.html#165">[ subject ]</a>
+ <a href="author.html#165">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000166.html b/archives/extend/2013-July/000166.html
new file mode 100644
index 00000000..67d1185c
--- /dev/null
+++ b/archives/extend/2013-July/000166.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy HTTPS Issue
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C9B85045F-0FA0-4CCE-8F57-863CCF83E28C%40gmail.com%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000165.html">
+ <LINK REL="Next" HREF="000168.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy HTTPS Issue</H1>
+ <B>Lee Sylvester</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C9B85045F-0FA0-4CCE-8F57-863CCF83E28C%40gmail.com%3E"
+ TITLE="[99s-extend] Cowboy HTTPS Issue">lee.sylvester at gmail.com
+ </A><BR>
+ <I>Tue Jul 23 16:01:07 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#166">[ date ]</a>
+ <a href="thread.html#166">[ thread ]</a>
+ <a href="subject.html#166">[ subject ]</a>
+ <a href="author.html#166">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Okay, thanks Lo&#239;c. I'll try my luck there :-)
+
+Regards,
+Lee
+
+
+
+On 23 Jul 2013, at 15:00, Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt; wrote:
+
+&gt;<i> No idea. You'll probably have more luck asking erlang-questions for SSL issues.
+</I>&gt;<i>
+</I>&gt;<i> On 07/23/2013 03:59 PM, Lee Sylvester wrote:
+</I>&gt;&gt;<i> Thank you, Loic. I'd forgotten to update my releases folder.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> I now have it running, but when I access an endpoint, I get
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> =ERROR REPORT==== 23-Jul-2013::09:56:29 ===
+</I>&gt;&gt;<i> SSL: 1159: error:[&lt;&lt;48,130,6,220,48,130,5,196,160,3,2,1,2,2,16,15,199,72,40,33,
+</I>&gt;&gt;<i> 126,49,13, [snip] 45,193&gt;&gt;,
+</I>&gt;&gt;<i> &lt;&lt;48,130,6 [snip] 118,247,97&gt;&gt;] /usr/certs/cert.pem
+</I>&gt;&gt;<i> [{ssl_connection,init_certificates,8,
+</I>&gt;&gt;<i> [{file,&quot;ssl_connection.erl&quot;},{line,1155}]},
+</I>&gt;&gt;<i> {ssl_connection,ssl_init,2,[{file,&quot;ssl_connection.erl&quot;},{line,1110}]},
+</I>&gt;&gt;<i> {ssl_connection,init,1,[{file,&quot;ssl_connection.erl&quot;},{line,303}]},
+</I>&gt;&gt;<i> {proc_lib,init_p_do_apply,3,[{file,&quot;proc_lib.erl&quot;},{line,239}]}]
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Not a very helpful error. I'm assuming the cert isn't being accepted by the SSL module?
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Thanks,
+</I>&gt;&gt;<i> Lee
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On 23 Jul 2013, at 14:41, Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt; wrote:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> You need to include and start the public_key and ssl applications.
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> On 07/23/2013 03:12 PM, Lee Sylvester wrote:
+</I>&gt;&gt;&gt;&gt;<i> Hi guys,
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> So, I'm trying to run Cowboy with SSL, but keep getting an error with the SSL module:
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> application: ssl
+</I>&gt;&gt;&gt;&gt;<i> exited: {bad_return,
+</I>&gt;&gt;&gt;&gt;<i> {{ssl_app,start,[normal,[]]},
+</I>&gt;&gt;&gt;&gt;<i> {'EXIT',
+</I>&gt;&gt;&gt;&gt;<i> {undef,
+</I>&gt;&gt;&gt;&gt;<i> [{ssl_app,start,[normal,[]],[]},
+</I>&gt;&gt;&gt;&gt;<i> {application_master,start_it_old,4,
+</I>&gt;&gt;&gt;&gt;<i> [{file,&quot;application_master.erl&quot;},
+</I>&gt;&gt;&gt;&gt;<i> {line,274}]}]}}}}
+</I>&gt;&gt;&gt;&gt;<i> type: temporary
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> The way I'm starting Cowboy is like this:
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> Env = [
+</I>&gt;&gt;&gt;&gt;<i> {env, [{dispatch, Dispatch}]},
+</I>&gt;&gt;&gt;&gt;<i> {onrequest, fun http_utils:set_request_cors/1}
+</I>&gt;&gt;&gt;&gt;<i> ],
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> case http_server:is_secure() of
+</I>&gt;&gt;&gt;&gt;<i> true -&gt;
+</I>&gt;&gt;&gt;&gt;<i> cowboy:start_https(https, 100, [
+</I>&gt;&gt;&gt;&gt;<i> {ip, Ip}, {port, Port},
+</I>&gt;&gt;&gt;&gt;<i> {certfile, binary_to_list(http_server:secure_cert())},
+</I>&gt;&gt;&gt;&gt;<i> {keyfile, binary_to_list(http_server:secure_key())},
+</I>&gt;&gt;&gt;&gt;<i> {reuseaddr, true},
+</I>&gt;&gt;&gt;&gt;<i> {fail_if_no_peer_cert, true}
+</I>&gt;&gt;&gt;&gt;<i> ], Env);
+</I>&gt;&gt;&gt;&gt;<i> _ -&gt;
+</I>&gt;&gt;&gt;&gt;<i> {ok, _} = cowboy:start_http(http, 100, Options, Env)
+</I>&gt;&gt;&gt;&gt;<i> end,
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> Does anyone know why I might be getting this issue?
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> Thanks,
+</I>&gt;&gt;&gt;&gt;<i> Lee
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> _______________________________________________
+</I>&gt;&gt;&gt;&gt;<i> Extend mailing list
+</I>&gt;&gt;&gt;&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;&gt;&gt;&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Lo&#239;c Hoguin
+</I>&gt;<i> Erlang Cowboy
+</I>&gt;<i> Nine Nines
+</I>&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#166">[ date ]</a>
+ <a href="thread.html#166">[ thread ]</a>
+ <a href="subject.html#166">[ subject ]</a>
+ <a href="author.html#166">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000167.html b/archives/extend/2013-July/000167.html
new file mode 100644
index 00000000..31b21867
--- /dev/null
+++ b/archives/extend/2013-July/000167.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] OPTIONS and is_authorized
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20OPTIONS%20and%20is_authorized&In-Reply-To=%3CCAKAMJXjzVKTA_VJPm_bJxr%2BhKBEYVK7hCz24ZkDu8gvZO4X_Rw%40mail.gmail.com%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000169.html">
+ <LINK REL="Next" HREF="000170.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] OPTIONS and is_authorized</H1>
+ <B>Eduardo Gurgel</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20OPTIONS%20and%20is_authorized&In-Reply-To=%3CCAKAMJXjzVKTA_VJPm_bJxr%2BhKBEYVK7hCz24ZkDu8gvZO4X_Rw%40mail.gmail.com%3E"
+ TITLE="[99s-extend] OPTIONS and is_authorized">edgurgel at gmail.com
+ </A><BR>
+ <I>Tue Jul 23 16:15:36 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000170.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#167">[ date ]</a>
+ <a href="thread.html#167">[ thread ]</a>
+ <a href="subject.html#167">[ subject ]</a>
+ <a href="author.html#167">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>What's the best way to skip is_authorized callback for OPTIONS methods? For
+all my rest handlers?
+
+Thanks in advance for any help you are able to provide.
+
+--
+Eduardo
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: &lt;<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20130723/3e51c337/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20130723/3e51c337/attachment.html</A>&gt;
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000170.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#167">[ date ]</a>
+ <a href="thread.html#167">[ thread ]</a>
+ <a href="subject.html#167">[ subject ]</a>
+ <a href="author.html#167">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000168.html b/archives/extend/2013-July/000168.html
new file mode 100644
index 00000000..2190fec8
--- /dev/null
+++ b/archives/extend/2013-July/000168.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy HTTPS Issue
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C51F0EEC8.4080408%40gjunka.com%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000166.html">
+ <LINK REL="Next" HREF="000169.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy HTTPS Issue</H1>
+ <B>Grzegorz Junka</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C51F0EEC8.4080408%40gjunka.com%3E"
+ TITLE="[99s-extend] Cowboy HTTPS Issue">list1 at gjunka.com
+ </A><BR>
+ <I>Thu Jul 25 11:24:24 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#168">[ date ]</a>
+ <a href="thread.html#168">[ thread ]</a>
+ <a href="subject.html#168">[ subject ]</a>
+ <a href="author.html#168">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Maybe the problem is with Erlang not seeing the crypto libraries? You
+can verify that quickly by executing &quot;crypto:start().&quot; in the Erlang
+shell. See this post for info:
+
+<A HREF="http://stackoverflow.com/questions/4742184/rebar-error-exit-on-create-app-crypto-start/14776521#14776521">http://stackoverflow.com/questions/4742184/rebar-error-exit-on-create-app-crypto-start/14776521#14776521</A>
+
+Greg
+
+On 23/07/2013 15:01, Lee Sylvester wrote:
+&gt;<i> Okay, thanks Lo&#239;c. I'll try my luck there :-)
+</I>&gt;<i>
+</I>&gt;<i> Regards,
+</I>&gt;<i> Lee
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> On 23 Jul 2013, at 15:00, Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt; wrote:
+</I>&gt;<i>
+</I>&gt;&gt;<i> No idea. You'll probably have more luck asking erlang-questions for SSL issues.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On 07/23/2013 03:59 PM, Lee Sylvester wrote:
+</I>&gt;&gt;&gt;<i> Thank you, Loic. I'd forgotten to update my releases folder.
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> I now have it running, but when I access an endpoint, I get
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> =ERROR REPORT==== 23-Jul-2013::09:56:29 ===
+</I>&gt;&gt;&gt;<i> SSL: 1159: error:[&lt;&lt;48,130,6,220,48,130,5,196,160,3,2,1,2,2,16,15,199,72,40,33,
+</I>&gt;&gt;&gt;<i> 126,49,13, [snip] 45,193&gt;&gt;,
+</I>&gt;&gt;&gt;<i> &lt;&lt;48,130,6 [snip] 118,247,97&gt;&gt;] /usr/certs/cert.pem
+</I>&gt;&gt;&gt;<i> [{ssl_connection,init_certificates,8,
+</I>&gt;&gt;&gt;<i> [{file,&quot;ssl_connection.erl&quot;},{line,1155}]},
+</I>&gt;&gt;&gt;<i> {ssl_connection,ssl_init,2,[{file,&quot;ssl_connection.erl&quot;},{line,1110}]},
+</I>&gt;&gt;&gt;<i> {ssl_connection,init,1,[{file,&quot;ssl_connection.erl&quot;},{line,303}]},
+</I>&gt;&gt;&gt;<i> {proc_lib,init_p_do_apply,3,[{file,&quot;proc_lib.erl&quot;},{line,239}]}]
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Not a very helpful error. I'm assuming the cert isn't being accepted by the SSL module?
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Thanks,
+</I>&gt;&gt;&gt;<i> Lee
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> On 23 Jul 2013, at 14:41, Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt; wrote:
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> You need to include and start the public_key and ssl applications.
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> On 07/23/2013 03:12 PM, Lee Sylvester wrote:
+</I>&gt;&gt;&gt;&gt;&gt;<i> Hi guys,
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> So, I'm trying to run Cowboy with SSL, but keep getting an error with the SSL module:
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> application: ssl
+</I>&gt;&gt;&gt;&gt;&gt;<i> exited: {bad_return,
+</I>&gt;&gt;&gt;&gt;&gt;<i> {{ssl_app,start,[normal,[]]},
+</I>&gt;&gt;&gt;&gt;&gt;<i> {'EXIT',
+</I>&gt;&gt;&gt;&gt;&gt;<i> {undef,
+</I>&gt;&gt;&gt;&gt;&gt;<i> [{ssl_app,start,[normal,[]],[]},
+</I>&gt;&gt;&gt;&gt;&gt;<i> {application_master,start_it_old,4,
+</I>&gt;&gt;&gt;&gt;&gt;<i> [{file,&quot;application_master.erl&quot;},
+</I>&gt;&gt;&gt;&gt;&gt;<i> {line,274}]}]}}}}
+</I>&gt;&gt;&gt;&gt;&gt;<i> type: temporary
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> The way I'm starting Cowboy is like this:
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> Env = [
+</I>&gt;&gt;&gt;&gt;&gt;<i> {env, [{dispatch, Dispatch}]},
+</I>&gt;&gt;&gt;&gt;&gt;<i> {onrequest, fun http_utils:set_request_cors/1}
+</I>&gt;&gt;&gt;&gt;&gt;<i> ],
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> case http_server:is_secure() of
+</I>&gt;&gt;&gt;&gt;&gt;<i> true -&gt;
+</I>&gt;&gt;&gt;&gt;&gt;<i> cowboy:start_https(https, 100, [
+</I>&gt;&gt;&gt;&gt;&gt;<i> {ip, Ip}, {port, Port},
+</I>&gt;&gt;&gt;&gt;&gt;<i> {certfile, binary_to_list(http_server:secure_cert())},
+</I>&gt;&gt;&gt;&gt;&gt;<i> {keyfile, binary_to_list(http_server:secure_key())},
+</I>&gt;&gt;&gt;&gt;&gt;<i> {reuseaddr, true},
+</I>&gt;&gt;&gt;&gt;&gt;<i> {fail_if_no_peer_cert, true}
+</I>&gt;&gt;&gt;&gt;&gt;<i> ], Env);
+</I>&gt;&gt;&gt;&gt;&gt;<i> _ -&gt;
+</I>&gt;&gt;&gt;&gt;&gt;<i> {ok, _} = cowboy:start_http(http, 100, Options, Env)
+</I>&gt;&gt;&gt;&gt;&gt;<i> end,
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> Does anyone know why I might be getting this issue?
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> Thanks,
+</I>&gt;&gt;&gt;&gt;&gt;<i> Lee
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> _______________________________________________
+</I>&gt;&gt;&gt;&gt;&gt;<i> Extend mailing list
+</I>&gt;&gt;&gt;&gt;&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;&gt;&gt;&gt;&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> --
+</I>&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i> _______________________________________________
+</I>&gt;<i> Extend mailing list
+</I>&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;<i>
+</I>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#168">[ date ]</a>
+ <a href="thread.html#168">[ thread ]</a>
+ <a href="subject.html#168">[ subject ]</a>
+ <a href="author.html#168">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000169.html b/archives/extend/2013-July/000169.html
new file mode 100644
index 00000000..4e28c3d1
--- /dev/null
+++ b/archives/extend/2013-July/000169.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy HTTPS Issue
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C51F0EEEE.8050002%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000168.html">
+ <LINK REL="Next" HREF="000167.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy HTTPS Issue</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20HTTPS%20Issue&In-Reply-To=%3C51F0EEEE.8050002%40ninenines.eu%3E"
+ TITLE="[99s-extend] Cowboy HTTPS Issue">essen at ninenines.eu
+ </A><BR>
+ <I>Thu Jul 25 11:25:02 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#169">[ date ]</a>
+ <a href="thread.html#169">[ thread ]</a>
+ <a href="subject.html#169">[ subject ]</a>
+ <a href="author.html#169">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Cowboy requires crypto to start.
+
+On 07/25/2013 11:24 AM, Grzegorz Junka wrote:
+&gt;<i> Maybe the problem is with Erlang not seeing the crypto libraries? You
+</I>&gt;<i> can verify that quickly by executing &quot;crypto:start().&quot; in the Erlang
+</I>&gt;<i> shell. See this post for info:
+</I>&gt;<i>
+</I>&gt;<i> <A HREF="http://stackoverflow.com/questions/4742184/rebar-error-exit-on-create-app-crypto-start/14776521#14776521">http://stackoverflow.com/questions/4742184/rebar-error-exit-on-create-app-crypto-start/14776521#14776521</A>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> Greg
+</I>&gt;<i>
+</I>&gt;<i> On 23/07/2013 15:01, Lee Sylvester wrote:
+</I>&gt;&gt;<i> Okay, thanks Lo&#239;c. I'll try my luck there :-)
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Regards,
+</I>&gt;&gt;<i> Lee
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On 23 Jul 2013, at 15:00, Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt; wrote:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> No idea. You'll probably have more luck asking erlang-questions for
+</I>&gt;&gt;&gt;<i> SSL issues.
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> On 07/23/2013 03:59 PM, Lee Sylvester wrote:
+</I>&gt;&gt;&gt;&gt;<i> Thank you, Loic. I'd forgotten to update my releases folder.
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> I now have it running, but when I access an endpoint, I get
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> =ERROR REPORT==== 23-Jul-2013::09:56:29 ===
+</I>&gt;&gt;&gt;&gt;<i> SSL: 1159:
+</I>&gt;&gt;&gt;&gt;<i> error:[&lt;&lt;48,130,6,220,48,130,5,196,160,3,2,1,2,2,16,15,199,72,40,33,
+</I>&gt;&gt;&gt;&gt;<i> 126,49,13, [snip] 45,193&gt;&gt;,
+</I>&gt;&gt;&gt;&gt;<i> &lt;&lt;48,130,6 [snip] 118,247,97&gt;&gt;]
+</I>&gt;&gt;&gt;&gt;<i> /usr/certs/cert.pem
+</I>&gt;&gt;&gt;&gt;<i> [{ssl_connection,init_certificates,8,
+</I>&gt;&gt;&gt;&gt;<i> [{file,&quot;ssl_connection.erl&quot;},{line,1155}]},
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> {ssl_connection,ssl_init,2,[{file,&quot;ssl_connection.erl&quot;},{line,1110}]},
+</I>&gt;&gt;&gt;&gt;<i> {ssl_connection,init,1,[{file,&quot;ssl_connection.erl&quot;},{line,303}]},
+</I>&gt;&gt;&gt;&gt;<i> {proc_lib,init_p_do_apply,3,[{file,&quot;proc_lib.erl&quot;},{line,239}]}]
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> Not a very helpful error. I'm assuming the cert isn't being
+</I>&gt;&gt;&gt;&gt;<i> accepted by the SSL module?
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> Thanks,
+</I>&gt;&gt;&gt;&gt;<i> Lee
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> On 23 Jul 2013, at 14:41, Lo&#239;c Hoguin &lt;<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>&gt; wrote:
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> You need to include and start the public_key and ssl applications.
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> On 07/23/2013 03:12 PM, Lee Sylvester wrote:
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> Hi guys,
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> So, I'm trying to run Cowboy with SSL, but keep getting an error
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> with the SSL module:
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> application: ssl
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> exited: {bad_return,
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {{ssl_app,start,[normal,[]]},
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {'EXIT',
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {undef,
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> [{ssl_app,start,[normal,[]],[]},
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {application_master,start_it_old,4,
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> [{file,&quot;application_master.erl&quot;},
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {line,274}]}]}}}}
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> type: temporary
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> The way I'm starting Cowboy is like this:
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> Env = [
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {env, [{dispatch, Dispatch}]},
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {onrequest, fun http_utils:set_request_cors/1}
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> ],
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> case http_server:is_secure() of
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> true -&gt;
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> cowboy:start_https(https, 100, [
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {ip, Ip}, {port, Port},
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {certfile,
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> binary_to_list(http_server:secure_cert())},
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {keyfile, binary_to_list(http_server:secure_key())},
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {reuseaddr, true},
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {fail_if_no_peer_cert, true}
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> ], Env);
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> _ -&gt;
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> {ok, _} = cowboy:start_http(http, 100, Options, Env)
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> end,
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> Does anyone know why I might be getting this issue?
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> Thanks,
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> Lee
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> _______________________________________________
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> Extend mailing list
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;&gt;&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;&gt;&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;&gt;&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;&gt;<i> _______________________________________________
+</I>&gt;&gt;<i> Extend mailing list
+</I>&gt;&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>&gt;&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> _______________________________________________
+</I>&gt;<i> Extend mailing list
+</I>&gt;<i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>
+</I>&gt;<i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>
+</I>
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A></li>
+ <LI>Next message: <A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#169">[ date ]</a>
+ <a href="thread.html#169">[ thread ]</a>
+ <a href="subject.html#169">[ subject ]</a>
+ <a href="author.html#169">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000170.html b/archives/extend/2013-July/000170.html
new file mode 100644
index 00000000..734498fb
--- /dev/null
+++ b/archives/extend/2013-July/000170.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] query string with # sign
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C5D960DEE-E0EE-4084-AF7D-127E8C9F8B37%40wanadoo.fr%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000167.html">
+ <LINK REL="Next" HREF="000171.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] query string with # sign</H1>
+ <B>Samir Sow</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C5D960DEE-E0EE-4084-AF7D-127E8C9F8B37%40wanadoo.fr%3E"
+ TITLE="[99s-extend] query string with # sign">samset at wanadoo.fr
+ </A><BR>
+ <I>Fri Jul 26 18:08:37 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A></li>
+ <LI>Next message: <A HREF="000171.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#170">[ date ]</a>
+ <a href="thread.html#170">[ thread ]</a>
+ <a href="subject.html#170">[ subject ]</a>
+ <a href="author.html#170">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Hi,
+
+It seems that Cowboy removes the data after the # sign from the query string (GET) before handing the req to the handler.
+Is there any way to change this behavior ?
+
+Thank you.
+
+Samir
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A></li>
+ <LI>Next message: <A HREF="000171.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#170">[ date ]</a>
+ <a href="thread.html#170">[ thread ]</a>
+ <a href="subject.html#170">[ subject ]</a>
+ <a href="author.html#170">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000171.html b/archives/extend/2013-July/000171.html
new file mode 100644
index 00000000..c82d0880
--- /dev/null
+++ b/archives/extend/2013-July/000171.html
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] query string with # sign
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C51F29FA3.9020400%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000170.html">
+ <LINK REL="Next" HREF="000172.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] query string with # sign</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C51F29FA3.9020400%40ninenines.eu%3E"
+ TITLE="[99s-extend] query string with # sign">essen at ninenines.eu
+ </A><BR>
+ <I>Fri Jul 26 18:11:15 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000170.html">[99s-extend] query string with # sign
+</A></li>
+ <LI>Next message: <A HREF="000172.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#171">[ date ]</a>
+ <a href="thread.html#171">[ thread ]</a>
+ <a href="subject.html#171">[ subject ]</a>
+ <a href="author.html#171">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On 07/26/2013 06:08 PM, Samir Sow wrote:
+&gt;<i> Hi,
+</I>&gt;<i>
+</I>&gt;<i> It seems that Cowboy removes the data after the # sign from the query string (GET) before handing the req to the handler.
+</I>&gt;<i> Is there any way to change this behavior ?
+</I>
+Look for the commit that removed &quot;cowboy_req:fragment/1&quot;.
+
+But be aware that #fragments aren't expected to be sent by an HTTP
+request and that browsers don't send it either. You probably should use
+the query string for that.
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000170.html">[99s-extend] query string with # sign
+</A></li>
+ <LI>Next message: <A HREF="000172.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#171">[ date ]</a>
+ <a href="thread.html#171">[ thread ]</a>
+ <a href="subject.html#171">[ subject ]</a>
+ <a href="author.html#171">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000172.html b/archives/extend/2013-July/000172.html
new file mode 100644
index 00000000..04e7bce7
--- /dev/null
+++ b/archives/extend/2013-July/000172.html
@@ -0,0 +1,85 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] query string with # sign
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3CB60CADF5-5D57-4E53-9ACA-BEF2C5526AF2%40wanadoo.fr%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000171.html">
+ <LINK REL="Next" HREF="000173.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] query string with # sign</H1>
+ <B>Samir Sow</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3CB60CADF5-5D57-4E53-9ACA-BEF2C5526AF2%40wanadoo.fr%3E"
+ TITLE="[99s-extend] query string with # sign">samset at wanadoo.fr
+ </A><BR>
+ <I>Fri Jul 26 18:25:07 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000171.html">[99s-extend] query string with # sign
+</A></li>
+ <LI>Next message: <A HREF="000173.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#172">[ date ]</a>
+ <a href="thread.html#172">[ thread ]</a>
+ <a href="subject.html#172">[ subject ]</a>
+ <a href="author.html#172">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Thank you Loic
+
+I'm not http protocol fluent.
+Could you explain me what you mean by &quot;you should use the query string for that&quot; ?
+
+Samir
+On 26 juil. 2013, at 18:11, Lo&#239;c Hoguin wrote:
+
+&gt;<i> On 07/26/2013 06:08 PM, Samir Sow wrote:
+</I>&gt;&gt;<i> Hi,
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> It seems that Cowboy removes the data after the # sign from the query string (GET) before handing the req to the handler.
+</I>&gt;&gt;<i> Is there any way to change this behavior ?
+</I>&gt;<i>
+</I>&gt;<i> Look for the commit that removed &quot;cowboy_req:fragment/1&quot;.
+</I>&gt;<i>
+</I>&gt;<i> But be aware that #fragments aren't expected to be sent by an HTTP request and that browsers don't send it either. You probably should use the query string for that.
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Lo&#239;c Hoguin
+</I>&gt;<i> Erlang Cowboy
+</I>&gt;<i> Nine Nines
+</I>&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000171.html">[99s-extend] query string with # sign
+</A></li>
+ <LI>Next message: <A HREF="000173.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#172">[ date ]</a>
+ <a href="thread.html#172">[ thread ]</a>
+ <a href="subject.html#172">[ subject ]</a>
+ <a href="author.html#172">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000173.html b/archives/extend/2013-July/000173.html
new file mode 100644
index 00000000..c473a796
--- /dev/null
+++ b/archives/extend/2013-July/000173.html
@@ -0,0 +1,99 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] query string with # sign
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C51F2A310.5030001%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000172.html">
+ <LINK REL="Next" HREF="000174.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] query string with # sign</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C51F2A310.5030001%40ninenines.eu%3E"
+ TITLE="[99s-extend] query string with # sign">essen at ninenines.eu
+ </A><BR>
+ <I>Fri Jul 26 18:25:52 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000172.html">[99s-extend] query string with # sign
+</A></li>
+ <LI>Next message: <A HREF="000174.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#173">[ date ]</a>
+ <a href="thread.html#173">[ thread ]</a>
+ <a href="subject.html#173">[ subject ]</a>
+ <a href="author.html#173">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>/path/to/resource?f=value
+
+instead of
+
+/path/to/resource#value
+
+On 07/26/2013 06:25 PM, Samir Sow wrote:
+&gt;<i> Thank you Loic
+</I>&gt;<i>
+</I>&gt;<i> I'm not http protocol fluent.
+</I>&gt;<i> Could you explain me what you mean by &quot;you should use the query string for that&quot; ?
+</I>&gt;<i>
+</I>&gt;<i> Samir
+</I>&gt;<i> On 26 juil. 2013, at 18:11, Lo&#239;c Hoguin wrote:
+</I>&gt;<i>
+</I>&gt;&gt;<i> On 07/26/2013 06:08 PM, Samir Sow wrote:
+</I>&gt;&gt;&gt;<i> Hi,
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> It seems that Cowboy removes the data after the # sign from the query string (GET) before handing the req to the handler.
+</I>&gt;&gt;&gt;<i> Is there any way to change this behavior ?
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Look for the commit that removed &quot;cowboy_req:fragment/1&quot;.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> But be aware that #fragments aren't expected to be sent by an HTTP request and that browsers don't send it either. You probably should use the query string for that.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> --
+</I>&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i>
+</I>
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000172.html">[99s-extend] query string with # sign
+</A></li>
+ <LI>Next message: <A HREF="000174.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#173">[ date ]</a>
+ <a href="thread.html#173">[ thread ]</a>
+ <a href="subject.html#173">[ subject ]</a>
+ <a href="author.html#173">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000174.html b/archives/extend/2013-July/000174.html
new file mode 100644
index 00000000..73a1106c
--- /dev/null
+++ b/archives/extend/2013-July/000174.html
@@ -0,0 +1,109 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] query string with # sign
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C056A51D7-8AD0-45C9-87CF-CC1CC744AE62%40wanadoo.fr%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000173.html">
+ <LINK REL="Next" HREF="000175.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] query string with # sign</H1>
+ <B>Samir Sow</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C056A51D7-8AD0-45C9-87CF-CC1CC744AE62%40wanadoo.fr%3E"
+ TITLE="[99s-extend] query string with # sign">samset at wanadoo.fr
+ </A><BR>
+ <I>Fri Jul 26 18:39:02 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000173.html">[99s-extend] query string with # sign
+</A></li>
+ <LI>Next message: <A HREF="000175.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#174">[ date ]</a>
+ <a href="thread.html#174">[ thread ]</a>
+ <a href="subject.html#174">[ subject ]</a>
+ <a href="author.html#174">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>
+Actually my query is something like
+
+/path?=key=*value, value#&amp;key=value2....
+But in the request i only receive the data before the # (the pound is removed)
+
+
+On 26 juil. 2013, at 18:25, Lo&#239;c Hoguin wrote:
+
+&gt;<i> /path/to/resource?f=value
+</I>&gt;<i>
+</I>&gt;<i> instead of
+</I>&gt;<i>
+</I>&gt;<i> /path/to/resource#value
+</I>&gt;<i>
+</I>&gt;<i> On 07/26/2013 06:25 PM, Samir Sow wrote:
+</I>&gt;&gt;<i> Thank you Loic
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> I'm not http protocol fluent.
+</I>&gt;&gt;<i> Could you explain me what you mean by &quot;you should use the query string for that&quot; ?
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Samir
+</I>&gt;&gt;<i> On 26 juil. 2013, at 18:11, Lo&#239;c Hoguin wrote:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> On 07/26/2013 06:08 PM, Samir Sow wrote:
+</I>&gt;&gt;&gt;&gt;<i> Hi,
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> It seems that Cowboy removes the data after the # sign from the query string (GET) before handing the req to the handler.
+</I>&gt;&gt;&gt;&gt;<i> Is there any way to change this behavior ?
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Look for the commit that removed &quot;cowboy_req:fragment/1&quot;.
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> But be aware that #fragments aren't expected to be sent by an HTTP request and that browsers don't send it either. You probably should use the query string for that.
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> --
+</I>&gt;<i> Lo&#239;c Hoguin
+</I>&gt;<i> Erlang Cowboy
+</I>&gt;<i> Nine Nines
+</I>&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000173.html">[99s-extend] query string with # sign
+</A></li>
+ <LI>Next message: <A HREF="000175.html">[99s-extend] query string with # sign
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#174">[ date ]</a>
+ <a href="thread.html#174">[ thread ]</a>
+ <a href="subject.html#174">[ subject ]</a>
+ <a href="author.html#174">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/000175.html b/archives/extend/2013-July/000175.html
new file mode 100644
index 00000000..30e5c3f1
--- /dev/null
+++ b/archives/extend/2013-July/000175.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] query string with # sign
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C51F2A701.1040309%40ninenines.eu%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <style type="text/css">
+ pre {
+ white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
+ }
+ </style>
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="000174.html">
+
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] query string with # sign</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20query%20string%20with%20%23%20sign&In-Reply-To=%3C51F2A701.1040309%40ninenines.eu%3E"
+ TITLE="[99s-extend] query string with # sign">essen at ninenines.eu
+ </A><BR>
+ <I>Fri Jul 26 18:42:41 CEST 2013</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000174.html">[99s-extend] query string with # sign
+</A></li>
+
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#175">[ date ]</a>
+ <a href="thread.html#175">[ thread ]</a>
+ <a href="subject.html#175">[ subject ]</a>
+ <a href="author.html#175">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>You have to encode the value (urlencode algorithm), some characters,
+like #, have a special meaning. Cowboy will urldecode automatically and
+give you the # you expect.
+
+On 07/26/2013 06:39 PM, Samir Sow wrote:
+&gt;<i>
+</I>&gt;<i> Actually my query is something like
+</I>&gt;<i>
+</I>&gt;<i> /path?=key=*value, value#&amp;key=value2....
+</I>&gt;<i> But in the request i only receive the data before the # (the pound is removed)
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> On 26 juil. 2013, at 18:25, Lo&#239;c Hoguin wrote:
+</I>&gt;<i>
+</I>&gt;&gt;<i> /path/to/resource?f=value
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> instead of
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> /path/to/resource#value
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On 07/26/2013 06:25 PM, Samir Sow wrote:
+</I>&gt;&gt;&gt;<i> Thank you Loic
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> I'm not http protocol fluent.
+</I>&gt;&gt;&gt;<i> Could you explain me what you mean by &quot;you should use the query string for that&quot; ?
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Samir
+</I>&gt;&gt;&gt;<i> On 26 juil. 2013, at 18:11, Lo&#239;c Hoguin wrote:
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> On 07/26/2013 06:08 PM, Samir Sow wrote:
+</I>&gt;&gt;&gt;&gt;&gt;<i> Hi,
+</I>&gt;&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;&gt;<i> It seems that Cowboy removes the data after the # sign from the query string (GET) before handing the req to the handler.
+</I>&gt;&gt;&gt;&gt;&gt;<i> Is there any way to change this behavior ?
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> Look for the commit that removed &quot;cowboy_req:fragment/1&quot;.
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> But be aware that #fragments aren't expected to be sent by an HTTP request and that browsers don't send it either. You probably should use the query string for that.
+</I>&gt;&gt;&gt;&gt;<i>
+</I>&gt;&gt;&gt;&gt;<i> --
+</I>&gt;&gt;&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> --
+</I>&gt;&gt;<i> Lo&#239;c Hoguin
+</I>&gt;&gt;<i> Erlang Cowboy
+</I>&gt;&gt;<i> Nine Nines
+</I>&gt;&gt;<i> <A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</I>&gt;<i>
+</I>
+
+--
+Lo&#239;c Hoguin
+Erlang Cowboy
+Nine Nines
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000174.html">[99s-extend] query string with # sign
+</A></li>
+
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#175">[ date ]</a>
+ <a href="thread.html#175">[ thread ]</a>
+ <a href="subject.html#175">[ subject ]</a>
+ <a href="author.html#175">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>
diff --git a/archives/extend/2013-July/author.html b/archives/extend/2013-July/author.html
new file mode 100644
index 00000000..16af8e9b
--- /dev/null
+++ b/archives/extend/2013-July/author.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend July 2013 Archive by author</title>
+ <META NAME="robots" CONTENT="noindex,follow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <a name="start"></A>
+ <h1>July 2013 Archives by author</h1>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+ <a href="thread.html#start">[ thread ]</a>
+ <a href="subject.html#start">[ subject ]</a>
+
+ <a href="date.html#start">[ date ]</a>
+
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p><b>Starting:</b> <i>Tue Jul 9 18:11:50 CEST 2013</i><br>
+ <b>Ending:</b> <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Messages:</b> 24<p>
+ <ul>
+
+<LI><A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A><A NAME="167">&nbsp;</A>
+<I>Eduardo Gurgel
+</I>
+
+<LI><A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="155">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="156">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="158">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="160">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="163">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="165">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="169">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000171.html">[99s-extend] query string with # sign
+</A><A NAME="171">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000173.html">[99s-extend] query string with # sign
+</A><A NAME="173">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000175.html">[99s-extend] query string with # sign
+</A><A NAME="175">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="168">&nbsp;</A>
+<I>Grzegorz Junka
+</I>
+
+<LI><A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="153">&nbsp;</A>
+<I>Alexander Kuleshov
+</I>
+
+<LI><A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="154">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="157">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="159">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="161">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000170.html">[99s-extend] query string with # sign
+</A><A NAME="170">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000172.html">[99s-extend] query string with # sign
+</A><A NAME="172">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000174.html">[99s-extend] query string with # sign
+</A><A NAME="174">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="162">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="164">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="166">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000152.html">[99s-extend] Cowboy: http request maximum body size
+</A><A NAME="152">&nbsp;</A>
+<I>Ivan Uemlianin
+</I>
+
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Archived on:</b> <i>Wed May 28 18:41:44 CEST 2014</i>
+ <p>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+ <a href="thread.html#start">[ thread ]</a>
+ <a href="subject.html#start">[ subject ]</a>
+
+ <a href="date.html#start">[ date ]</a>
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p>
+ <hr>
+ <i>This archive was generated by
+ Pipermail 0.09 (Mailman edition).</i>
+ </BODY>
+</HTML>
+
diff --git a/archives/extend/2013-July/date.html b/archives/extend/2013-July/date.html
new file mode 100644
index 00000000..3cacbcc1
--- /dev/null
+++ b/archives/extend/2013-July/date.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend July 2013 Archive by date</title>
+ <META NAME="robots" CONTENT="noindex,follow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <a name="start"></A>
+ <h1>July 2013 Archives by date</h1>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+ <a href="thread.html#start">[ thread ]</a>
+ <a href="subject.html#start">[ subject ]</a>
+ <a href="author.html#start">[ author ]</a>
+
+
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p><b>Starting:</b> <i>Tue Jul 9 18:11:50 CEST 2013</i><br>
+ <b>Ending:</b> <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Messages:</b> 24<p>
+ <ul>
+
+<LI><A HREF="000152.html">[99s-extend] Cowboy: http request maximum body size
+</A><A NAME="152">&nbsp;</A>
+<I>Ivan Uemlianin
+</I>
+
+<LI><A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="153">&nbsp;</A>
+<I>Alexander Kuleshov
+</I>
+
+<LI><A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="154">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="155">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="156">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="157">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="158">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="159">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="160">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="161">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="162">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="163">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="164">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="165">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="166">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A><A NAME="167">&nbsp;</A>
+<I>Eduardo Gurgel
+</I>
+
+<LI><A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="168">&nbsp;</A>
+<I>Grzegorz Junka
+</I>
+
+<LI><A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="169">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000170.html">[99s-extend] query string with # sign
+</A><A NAME="170">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000171.html">[99s-extend] query string with # sign
+</A><A NAME="171">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000172.html">[99s-extend] query string with # sign
+</A><A NAME="172">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000173.html">[99s-extend] query string with # sign
+</A><A NAME="173">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000174.html">[99s-extend] query string with # sign
+</A><A NAME="174">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000175.html">[99s-extend] query string with # sign
+</A><A NAME="175">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Archived on:</b> <i>Wed May 28 18:41:44 CEST 2014</i>
+ <p>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+ <a href="thread.html#start">[ thread ]</a>
+ <a href="subject.html#start">[ subject ]</a>
+ <a href="author.html#start">[ author ]</a>
+
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p>
+ <hr>
+ <i>This archive was generated by
+ Pipermail 0.09 (Mailman edition).</i>
+ </BODY>
+</HTML>
+
diff --git a/archives/extend/2013-July/index.html b/archives/extend/2013-July/index.html
new file mode 100644
index 00000000..22246907
--- /dev/null
+++ b/archives/extend/2013-July/index.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend July 2013 Archive by thread</title>
+ <META NAME="robots" CONTENT="noindex,follow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <a name="start"></A>
+ <h1>July 2013 Archives by thread</h1>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+
+ <a href="subject.html#start">[ subject ]</a>
+ <a href="author.html#start">[ author ]</a>
+ <a href="date.html#start">[ date ]</a>
+
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p><b>Starting:</b> <i>Tue Jul 9 18:11:50 CEST 2013</i><br>
+ <b>Ending:</b> <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Messages:</b> 24<p>
+ <ul>
+
+<!--0 01373386310.152- -->
+<LI><A HREF="000152.html">[99s-extend] Cowboy: http request maximum body size
+</A><A NAME="152">&nbsp;</A>
+<I>Ivan Uemlianin
+</I>
+
+<!--0 01374072463.153- -->
+<LI><A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="153">&nbsp;</A>
+<I>Alexander Kuleshov
+</I>
+
+<UL>
+<!--1 01374072463.153-01374142633.155- -->
+<LI><A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="155">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+<!--0 01374142511.154- -->
+<LI><A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="154">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<UL>
+<!--1 01374142511.154-01374142836.156- -->
+<LI><A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="156">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01374142511.154-01374142836.156-01374143505.157- -->
+<LI><A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="157">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<UL>
+<!--3 01374142511.154-01374142836.156-01374143505.157-01374143764.158- -->
+<LI><A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="158">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01374142511.154-01374142836.156-01374143505.157-01374143764.158-01374143850.159- -->
+<LI><A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="159">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<!--3 01374142511.154-01374142836.156-01374143505.157-01374143764.158-01374143850.159-01374143893.160- -->
+<LI><A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="160">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01374142511.154-01374142836.156-01374143505.157-01374143764.158-01374143850.159-01374143893.160-01374170120.161- -->
+<LI><A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="161">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+</UL>
+</UL>
+</UL>
+<!--0 01374585128.162- -->
+<LI><A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="162">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<UL>
+<!--1 01374585128.162-01374586902.163- -->
+<LI><A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="163">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01374585128.162-01374586902.163-01374587940.164- -->
+<LI><A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="164">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<UL>
+<!--3 01374585128.162-01374586902.163-01374587940.164-01374588013.165- -->
+<LI><A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="165">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01374585128.162-01374586902.163-01374587940.164-01374588013.165-01374588067.166- -->
+<LI><A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="166">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<!--3 01374585128.162-01374586902.163-01374587940.164-01374588013.165-01374588067.166-01374744264.168- -->
+<LI><A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="168">&nbsp;</A>
+<I>Grzegorz Junka
+</I>
+
+<!--3 01374585128.162-01374586902.163-01374587940.164-01374588013.165-01374588067.166-01374744264.168-01374744302.169- -->
+<LI><A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="169">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+</UL>
+</UL>
+<!--0 01374588936.167- -->
+<LI><A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A><A NAME="167">&nbsp;</A>
+<I>Eduardo Gurgel
+</I>
+
+<!--0 01374854917.170- -->
+<LI><A HREF="000170.html">[99s-extend] query string with # sign
+</A><A NAME="170">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<UL>
+<!--1 01374854917.170-01374855075.171- -->
+<LI><A HREF="000171.html">[99s-extend] query string with # sign
+</A><A NAME="171">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01374854917.170-01374855075.171-01374855907.172- -->
+<LI><A HREF="000172.html">[99s-extend] query string with # sign
+</A><A NAME="172">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<UL>
+<!--3 01374854917.170-01374855075.171-01374855907.172-01374855952.173- -->
+<LI><A HREF="000173.html">[99s-extend] query string with # sign
+</A><A NAME="173">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01374854917.170-01374855075.171-01374855907.172-01374855952.173-01374856742.174- -->
+<LI><A HREF="000174.html">[99s-extend] query string with # sign
+</A><A NAME="174">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<!--3 01374854917.170-01374855075.171-01374855907.172-01374855952.173-01374856742.174-01374856961.175- -->
+<LI><A HREF="000175.html">[99s-extend] query string with # sign
+</A><A NAME="175">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+</UL>
+</UL>
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Archived on:</b> <i>Wed May 28 18:41:44 CEST 2014</i>
+ <p>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+
+ <a href="subject.html#start">[ subject ]</a>
+ <a href="author.html#start">[ author ]</a>
+ <a href="date.html#start">[ date ]</a>
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p>
+ <hr>
+ <i>This archive was generated by
+ Pipermail 0.09 (Mailman edition).</i>
+ </BODY>
+</HTML>
+
diff --git a/archives/extend/2013-July/subject.html b/archives/extend/2013-July/subject.html
new file mode 100644
index 00000000..043ddebb
--- /dev/null
+++ b/archives/extend/2013-July/subject.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend July 2013 Archive by subject</title>
+ <META NAME="robots" CONTENT="noindex,follow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <a name="start"></A>
+ <h1>July 2013 Archives by subject</h1>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+ <a href="thread.html#start">[ thread ]</a>
+
+ <a href="author.html#start">[ author ]</a>
+ <a href="date.html#start">[ date ]</a>
+
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p><b>Starting:</b> <i>Tue Jul 9 18:11:50 CEST 2013</i><br>
+ <b>Ending:</b> <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Messages:</b> 24<p>
+ <ul>
+
+<LI><A HREF="000152.html">[99s-extend] Cowboy: http request maximum body size
+</A><A NAME="152">&nbsp;</A>
+<I>Ivan Uemlianin
+</I>
+
+<LI><A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="154">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="156">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="157">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="158">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="159">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="160">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="161">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<LI><A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="162">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="163">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="164">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="165">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="166">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="168">&nbsp;</A>
+<I>Grzegorz Junka
+</I>
+
+<LI><A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="169">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A><A NAME="167">&nbsp;</A>
+<I>Eduardo Gurgel
+</I>
+
+<LI><A HREF="000170.html">[99s-extend] query string with # sign
+</A><A NAME="170">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000171.html">[99s-extend] query string with # sign
+</A><A NAME="171">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000172.html">[99s-extend] query string with # sign
+</A><A NAME="172">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000173.html">[99s-extend] query string with # sign
+</A><A NAME="173">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000174.html">[99s-extend] query string with # sign
+</A><A NAME="174">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<LI><A HREF="000175.html">[99s-extend] query string with # sign
+</A><A NAME="175">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="153">&nbsp;</A>
+<I>Alexander Kuleshov
+</I>
+
+<LI><A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="155">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Archived on:</b> <i>Wed May 28 18:41:44 CEST 2014</i>
+ <p>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+ <a href="thread.html#start">[ thread ]</a>
+
+ <a href="author.html#start">[ author ]</a>
+ <a href="date.html#start">[ date ]</a>
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p>
+ <hr>
+ <i>This archive was generated by
+ Pipermail 0.09 (Mailman edition).</i>
+ </BODY>
+</HTML>
+
diff --git a/archives/extend/2013-July/thread.html b/archives/extend/2013-July/thread.html
new file mode 100644
index 00000000..22246907
--- /dev/null
+++ b/archives/extend/2013-July/thread.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend July 2013 Archive by thread</title>
+ <META NAME="robots" CONTENT="noindex,follow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <a name="start"></A>
+ <h1>July 2013 Archives by thread</h1>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+
+ <a href="subject.html#start">[ subject ]</a>
+ <a href="author.html#start">[ author ]</a>
+ <a href="date.html#start">[ date ]</a>
+
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p><b>Starting:</b> <i>Tue Jul 9 18:11:50 CEST 2013</i><br>
+ <b>Ending:</b> <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Messages:</b> 24<p>
+ <ul>
+
+<!--0 01373386310.152- -->
+<LI><A HREF="000152.html">[99s-extend] Cowboy: http request maximum body size
+</A><A NAME="152">&nbsp;</A>
+<I>Ivan Uemlianin
+</I>
+
+<!--0 01374072463.153- -->
+<LI><A HREF="000153.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="153">&nbsp;</A>
+<I>Alexander Kuleshov
+</I>
+
+<UL>
+<!--1 01374072463.153-01374142633.155- -->
+<LI><A HREF="000155.html">[99s-extend] Serve static files with cowboy from some applications
+</A><A NAME="155">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+<!--0 01374142511.154- -->
+<LI><A HREF="000154.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="154">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<UL>
+<!--1 01374142511.154-01374142836.156- -->
+<LI><A HREF="000156.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="156">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01374142511.154-01374142836.156-01374143505.157- -->
+<LI><A HREF="000157.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="157">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<UL>
+<!--3 01374142511.154-01374142836.156-01374143505.157-01374143764.158- -->
+<LI><A HREF="000158.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="158">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01374142511.154-01374142836.156-01374143505.157-01374143764.158-01374143850.159- -->
+<LI><A HREF="000159.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="159">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+<!--3 01374142511.154-01374142836.156-01374143505.157-01374143764.158-01374143850.159-01374143893.160- -->
+<LI><A HREF="000160.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="160">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01374142511.154-01374142836.156-01374143505.157-01374143764.158-01374143850.159-01374143893.160-01374170120.161- -->
+<LI><A HREF="000161.html">[99s-extend] Cowboy handler linked processes
+</A><A NAME="161">&nbsp;</A>
+<I>Adrian Roe
+</I>
+
+</UL>
+</UL>
+</UL>
+<!--0 01374585128.162- -->
+<LI><A HREF="000162.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="162">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<UL>
+<!--1 01374585128.162-01374586902.163- -->
+<LI><A HREF="000163.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="163">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01374585128.162-01374586902.163-01374587940.164- -->
+<LI><A HREF="000164.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="164">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<UL>
+<!--3 01374585128.162-01374586902.163-01374587940.164-01374588013.165- -->
+<LI><A HREF="000165.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="165">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01374585128.162-01374586902.163-01374587940.164-01374588013.165-01374588067.166- -->
+<LI><A HREF="000166.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="166">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<!--3 01374585128.162-01374586902.163-01374587940.164-01374588013.165-01374588067.166-01374744264.168- -->
+<LI><A HREF="000168.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="168">&nbsp;</A>
+<I>Grzegorz Junka
+</I>
+
+<!--3 01374585128.162-01374586902.163-01374587940.164-01374588013.165-01374588067.166-01374744264.168-01374744302.169- -->
+<LI><A HREF="000169.html">[99s-extend] Cowboy HTTPS Issue
+</A><A NAME="169">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+</UL>
+</UL>
+<!--0 01374588936.167- -->
+<LI><A HREF="000167.html">[99s-extend] OPTIONS and is_authorized
+</A><A NAME="167">&nbsp;</A>
+<I>Eduardo Gurgel
+</I>
+
+<!--0 01374854917.170- -->
+<LI><A HREF="000170.html">[99s-extend] query string with # sign
+</A><A NAME="170">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<UL>
+<!--1 01374854917.170-01374855075.171- -->
+<LI><A HREF="000171.html">[99s-extend] query string with # sign
+</A><A NAME="171">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01374854917.170-01374855075.171-01374855907.172- -->
+<LI><A HREF="000172.html">[99s-extend] query string with # sign
+</A><A NAME="172">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<UL>
+<!--3 01374854917.170-01374855075.171-01374855907.172-01374855952.173- -->
+<LI><A HREF="000173.html">[99s-extend] query string with # sign
+</A><A NAME="173">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01374854917.170-01374855075.171-01374855907.172-01374855952.173-01374856742.174- -->
+<LI><A HREF="000174.html">[99s-extend] query string with # sign
+</A><A NAME="174">&nbsp;</A>
+<I>Samir Sow
+</I>
+
+<!--3 01374854917.170-01374855075.171-01374855907.172-01374855952.173-01374856742.174-01374856961.175- -->
+<LI><A HREF="000175.html">[99s-extend] query string with # sign
+</A><A NAME="175">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+</UL>
+</UL>
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Fri Jul 26 18:42:41 CEST 2013</i><br>
+ <b>Archived on:</b> <i>Wed May 28 18:41:44 CEST 2014</i>
+ <p>
+ <ul>
+ <li> <b>Messages sorted by:</b>
+
+ <a href="subject.html#start">[ subject ]</a>
+ <a href="author.html#start">[ author ]</a>
+ <a href="date.html#start">[ date ]</a>
+ <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list...
+ </a></b></li>
+ </ul>
+ <p>
+ <hr>
+ <i>This archive was generated by
+ Pipermail 0.09 (Mailman edition).</i>
+ </BODY>
+</HTML>
+