summaryrefslogtreecommitdiffstats
path: root/archives/extend/2015-January
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2016-08-29 12:39:49 +0200
committerLoïc Hoguin <[email protected]>2016-08-29 12:40:03 +0200
commitc807880f7ac73f813b2660ea81a00f7712a4e793 (patch)
treeba1d09e9b177f230665a80513b33fbd532000ce4 /archives/extend/2015-January
parentb1df25a7d9cda697513650659b781b55b40898f8 (diff)
downloadninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.tar.gz
ninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.tar.bz2
ninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.zip
Add old mailing list archives
Diffstat (limited to 'archives/extend/2015-January')
-rw-r--r--archives/extend/2015-January/000484.html110
-rw-r--r--archives/extend/2015-January/000485.html136
-rw-r--r--archives/extend/2015-January/000486.html81
-rw-r--r--archives/extend/2015-January/000487.html90
-rw-r--r--archives/extend/2015-January/000488.html112
-rw-r--r--archives/extend/2015-January/000489.html73
-rw-r--r--archives/extend/2015-January/000490.html90
-rw-r--r--archives/extend/2015-January/000491.html80
-rw-r--r--archives/extend/2015-January/000492.html91
-rw-r--r--archives/extend/2015-January/000493.html98
-rw-r--r--archives/extend/2015-January/000494.html105
-rw-r--r--archives/extend/2015-January/000495.html138
-rw-r--r--archives/extend/2015-January/000496.html86
-rw-r--r--archives/extend/2015-January/000497.html76
-rw-r--r--archives/extend/2015-January/000498.html88
-rw-r--r--archives/extend/2015-January/000499.html153
-rw-r--r--archives/extend/2015-January/000500.html145
-rw-r--r--archives/extend/2015-January/000501.html103
-rw-r--r--archives/extend/2015-January/000502.html79
-rw-r--r--archives/extend/2015-January/000503.html97
-rw-r--r--archives/extend/2015-January/000504.html70
-rw-r--r--archives/extend/2015-January/000505.html82
-rw-r--r--archives/extend/2015-January/000506.html87
-rw-r--r--archives/extend/2015-January/000507.html100
-rw-r--r--archives/extend/2015-January/000508.html69
-rw-r--r--archives/extend/2015-January/000509.html74
-rw-r--r--archives/extend/2015-January/author.html177
-rw-r--r--archives/extend/2015-January/date.html177
-rw-r--r--archives/extend/2015-January/index.html227
-rw-r--r--archives/extend/2015-January/subject.html177
-rw-r--r--archives/extend/2015-January/thread.html227
31 files changed, 3498 insertions, 0 deletions
diff --git a/archives/extend/2015-January/000484.html b/archives/extend/2015-January/000484.html
new file mode 100644
index 00000000..74425562
--- /dev/null
+++ b/archives/extend/2015-January/000484.html
@@ -0,0 +1,110 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] websocket over ssl
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B12F6E.6000305%40bestmx.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="Next" HREF="000485.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] websocket over ssl</H1>
+ <B>e at bestmx.net</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B12F6E.6000305%40bestmx.net%3E"
+ TITLE="[99s-extend] websocket over ssl">e at bestmx.net
+ </A><BR>
+ <I>Sat Jan 10 14:55:58 CET 2015</I>
+ <P><UL>
+
+ <LI>Next message: <A HREF="000485.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#484">[ date ]</a>
+ <a href="thread.html#484">[ thread ]</a>
+ <a href="subject.html#484">[ subject ]</a>
+ <a href="author.html#484">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Hello all.
+
+I am trying to alter my cowboy-based websocket server from plain to SSL
+connection.
+And I found out that I have failed to understand very basics of the
+combination of WS and SSL.
+
+As far as i've understood the very nature of the WS it is a bit altered
+http connection (i open the http connection first, and then i change its
+status to WS)
+
+On the other hand the whole &quot;HTTP story&quot; could be wrapped into SSL, so
+that SSL is an outer layer of data encoding (as seen transparent by an
+application)
+
+thus,
+if I open HTTPS connection (which implies SSL enveloping) and then alter
+the connection status to WS, the whole &quot;WS story&quot; appears naturally
+INSIDE THE PREVIOUSLY ESTABLISHED SSL CONNECTION.
+
+Is it true?
+
+In this regard i can hardly find a place in this world for the &quot;WSS&quot;
+term, what does it stand for?
+
+Please, help me fit it in my head.
+
+However, i might be confusing some Client-Side entities, that are
+involved in the process of starting up my WebSocket.
+
+I am using a Browser with JavaScript.
+
+The semantics of the very WebSocket.start() operation is not enough
+clear to me. Please, do not laugh.
+
+when i do JS WebSocket.start() does it:
+(a) opens an http connection and then alters it to WS
+(b) alters the connection in the context of which the JS process is running
+????
+
+I'll be damned if the answer was lying on the surface of the internet!
+
+The third part of this ugly question is about cowboy actually.
+How all these entities mentioned above do map into my_app.erl file?
+what particular bits of cowboy's &quot;configuration&quot; (may i call this
+particular piece of code a &quot;setup&quot; or &quot;config&quot;?) affect what aspects of
+the connection initialization.
+
+well, i am afraid it could be put in a simpler way:
+&quot;Exactly When and Where the WSS story begins?&quot;
+
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+
+ <LI>Next message: <A HREF="000485.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#484">[ date ]</a>
+ <a href="thread.html#484">[ thread ]</a>
+ <a href="subject.html#484">[ subject ]</a>
+ <a href="author.html#484">[ 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/2015-January/000485.html b/archives/extend/2015-January/000485.html
new file mode 100644
index 00000000..03cccb2d
--- /dev/null
+++ b/archives/extend/2015-January/000485.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] websocket over ssl
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B13550.5050504%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="000484.html">
+ <LINK REL="Next" HREF="000486.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] websocket over ssl</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B13550.5050504%40ninenines.eu%3E"
+ TITLE="[99s-extend] websocket over ssl">essen at ninenines.eu
+ </A><BR>
+ <I>Sat Jan 10 15:21:04 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000484.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000486.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#485">[ date ]</a>
+ <a href="thread.html#485">[ thread ]</a>
+ <a href="subject.html#485">[ subject ]</a>
+ <a href="author.html#485">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Assuming you have no problem understanding HTTPS, the only differences
+between plain Websocket and HTTPS Websocket are as follow:
+
+In your browser, your <A HREF="ws://">ws://</A> links become <A HREF="wss://">wss://</A> links.
+
+In Cowboy, use start_https instead of start_http. There is no change
+required in your code otherwise.
+
+It may or may not be possible to use <A HREF="wss://">wss://</A> from an HTTP page or <A HREF="ws://">ws://</A>
+from an HTTPS page, I'm not too up to date on that one. Otherwise, <A HREF="ws://">ws://</A>
+from HTTP page or <A HREF="wss://">wss://</A> from HTTPS page works as intended.
+
+There is no requirement that a Websocket connection is initiated on a
+new TCP connection. I am not sure if browsers reuse connections or not.
+
+On 01/10/2015 02:55 PM, <A HREF="https://lists.ninenines.eu/listinfo/extend">e at bestmx.net</A> wrote:
+&gt;<i> Hello all.
+</I>&gt;<i>
+</I>&gt;<i> I am trying to alter my cowboy-based websocket server from plain to SSL
+</I>&gt;<i> connection.
+</I>&gt;<i> And I found out that I have failed to understand very basics of the
+</I>&gt;<i> combination of WS and SSL.
+</I>&gt;<i>
+</I>&gt;<i> As far as i've understood the very nature of the WS it is a bit altered
+</I>&gt;<i> http connection (i open the http connection first, and then i change its
+</I>&gt;<i> status to WS)
+</I>&gt;<i>
+</I>&gt;<i> On the other hand the whole &quot;HTTP story&quot; could be wrapped into SSL, so
+</I>&gt;<i> that SSL is an outer layer of data encoding (as seen transparent by an
+</I>&gt;<i> application)
+</I>&gt;<i>
+</I>&gt;<i> thus,
+</I>&gt;<i> if I open HTTPS connection (which implies SSL enveloping) and then alter
+</I>&gt;<i> the connection status to WS, the whole &quot;WS story&quot; appears naturally
+</I>&gt;<i> INSIDE THE PREVIOUSLY ESTABLISHED SSL CONNECTION.
+</I>&gt;<i>
+</I>&gt;<i> Is it true?
+</I>&gt;<i>
+</I>&gt;<i> In this regard i can hardly find a place in this world for the &quot;WSS&quot;
+</I>&gt;<i> term, what does it stand for?
+</I>&gt;<i>
+</I>&gt;<i> Please, help me fit it in my head.
+</I>&gt;<i>
+</I>&gt;<i> However, i might be confusing some Client-Side entities, that are
+</I>&gt;<i> involved in the process of starting up my WebSocket.
+</I>&gt;<i>
+</I>&gt;<i> I am using a Browser with JavaScript.
+</I>&gt;<i>
+</I>&gt;<i> The semantics of the very WebSocket.start() operation is not enough
+</I>&gt;<i> clear to me. Please, do not laugh.
+</I>&gt;<i>
+</I>&gt;<i> when i do JS WebSocket.start() does it:
+</I>&gt;<i> (a) opens an http connection and then alters it to WS
+</I>&gt;<i> (b) alters the connection in the context of which the JS process is running
+</I>&gt;<i> ????
+</I>&gt;<i>
+</I>&gt;<i> I'll be damned if the answer was lying on the surface of the internet!
+</I>&gt;<i>
+</I>&gt;<i> The third part of this ugly question is about cowboy actually.
+</I>&gt;<i> How all these entities mentioned above do map into my_app.erl file?
+</I>&gt;<i> what particular bits of cowboy's &quot;configuration&quot; (may i call this
+</I>&gt;<i> particular piece of code a &quot;setup&quot; or &quot;config&quot;?) affect what aspects of
+</I>&gt;<i> the connection initialization.
+</I>&gt;<i>
+</I>&gt;<i> well, i am afraid it could be put in a simpler way:
+</I>&gt;<i> &quot;Exactly When and Where the WSS story begins?&quot;
+</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="https://lists.ninenines.eu/listinfo/extend">https://lists.ninenines.eu/listinfo/extend</A>
+</I>
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000484.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000486.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#485">[ date ]</a>
+ <a href="thread.html#485">[ thread ]</a>
+ <a href="subject.html#485">[ subject ]</a>
+ <a href="author.html#485">[ 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/2015-January/000486.html b/archives/extend/2015-January/000486.html
new file mode 100644
index 00000000..b3802139
--- /dev/null
+++ b/archives/extend/2015-January/000486.html
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] websocket over ssl
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B13724.8010503%40bestmx.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="000485.html">
+ <LINK REL="Next" HREF="000487.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] websocket over ssl</H1>
+ <B>e at bestmx.net</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B13724.8010503%40bestmx.net%3E"
+ TITLE="[99s-extend] websocket over ssl">e at bestmx.net
+ </A><BR>
+ <I>Sat Jan 10 15:28:52 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000485.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000487.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#486">[ date ]</a>
+ <a href="thread.html#486">[ thread ]</a>
+ <a href="subject.html#486">[ subject ]</a>
+ <a href="author.html#486">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>&gt;<i> In Cowboy, use start_https instead of start_http.
+</I>
+thanx! it makes a lot of sense for me.
+tell me please what deps should be declared in the .app file?
+
+is the following correct?
+
+ {applications, [
+ kernel,
+ stdlib,
+ crypto,
+ public_key,
+ ssl,
+ cowboy
+ ]},
+
+does the order matters?
+
+(i borrowed that from the internet without deep understanding of the
+roles of each app on the list)
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000485.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000487.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#486">[ date ]</a>
+ <a href="thread.html#486">[ thread ]</a>
+ <a href="subject.html#486">[ subject ]</a>
+ <a href="author.html#486">[ 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/2015-January/000487.html b/archives/extend/2015-January/000487.html
new file mode 100644
index 00000000..7a69ae5c
--- /dev/null
+++ b/archives/extend/2015-January/000487.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] websocket over ssl
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B13881.6000408%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="000486.html">
+ <LINK REL="Next" HREF="000490.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] websocket over ssl</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B13881.6000408%40ninenines.eu%3E"
+ TITLE="[99s-extend] websocket over ssl">essen at ninenines.eu
+ </A><BR>
+ <I>Sat Jan 10 15:34:41 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000486.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000490.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#487">[ date ]</a>
+ <a href="thread.html#487">[ thread ]</a>
+ <a href="subject.html#487">[ subject ]</a>
+ <a href="author.html#487">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Just kernel, stdlib, ssl, cowboy should be enough. Order does not matter
+I think.
+
+On 01/10/2015 03:28 PM, <A HREF="https://lists.ninenines.eu/listinfo/extend">e at bestmx.net</A> wrote:
+&gt;&gt;<i> In Cowboy, use start_https instead of start_http.
+</I>&gt;<i>
+</I>&gt;<i> thanx! it makes a lot of sense for me.
+</I>&gt;<i> tell me please what deps should be declared in the .app file?
+</I>&gt;<i>
+</I>&gt;<i> is the following correct?
+</I>&gt;<i>
+</I>&gt;<i> {applications, [
+</I>&gt;<i> kernel,
+</I>&gt;<i> stdlib,
+</I>&gt;<i> crypto,
+</I>&gt;<i> public_key,
+</I>&gt;<i> ssl,
+</I>&gt;<i> cowboy
+</I>&gt;<i> ]},
+</I>&gt;<i>
+</I>&gt;<i> does the order matters?
+</I>&gt;<i>
+</I>&gt;<i> (i borrowed that from the internet without deep understanding of the
+</I>&gt;<i> roles of each app on the list)
+</I>
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000486.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000490.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#487">[ date ]</a>
+ <a href="thread.html#487">[ thread ]</a>
+ <a href="subject.html#487">[ subject ]</a>
+ <a href="author.html#487">[ 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/2015-January/000488.html b/archives/extend/2015-January/000488.html
new file mode 100644
index 00000000..ada46131
--- /dev/null
+++ b/archives/extend/2015-January/000488.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] websocket over ssl
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3CB264D9ED-5411-41D7-A481-1590E286DD74%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="000490.html">
+ <LINK REL="Next" HREF="000489.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] websocket over ssl</H1>
+ <B>Lee Sylvester</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3CB264D9ED-5411-41D7-A481-1590E286DD74%40gmail.com%3E"
+ TITLE="[99s-extend] websocket over ssl">lee.sylvester at gmail.com
+ </A><BR>
+ <I>Sat Jan 10 15:39:41 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000490.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000489.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#488">[ date ]</a>
+ <a href="thread.html#488">[ thread ]</a>
+ <a href="subject.html#488">[ subject ]</a>
+ <a href="author.html#488">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>I use Cowboy for websockets, but I find it&#8217;s a lot easier (and less stressful) to run Nginx in front of it to provide the SSL layer.
+
+Lee
+
+
+&gt;<i> On 10 Jan 2015, at 13:55, <A HREF="https://lists.ninenines.eu/listinfo/extend">e at bestmx.net</A> wrote:
+</I>&gt;<i>
+</I>&gt;<i> Hello all.
+</I>&gt;<i>
+</I>&gt;<i> I am trying to alter my cowboy-based websocket server from plain to SSL connection.
+</I>&gt;<i> And I found out that I have failed to understand very basics of the combination of WS and SSL.
+</I>&gt;<i>
+</I>&gt;<i> As far as i've understood the very nature of the WS it is a bit altered http connection (i open the http connection first, and then i change its status to WS)
+</I>&gt;<i>
+</I>&gt;<i> On the other hand the whole &quot;HTTP story&quot; could be wrapped into SSL, so that SSL is an outer layer of data encoding (as seen transparent by an application)
+</I>&gt;<i>
+</I>&gt;<i> thus,
+</I>&gt;<i> if I open HTTPS connection (which implies SSL enveloping) and then alter the connection status to WS, the whole &quot;WS story&quot; appears naturally INSIDE THE PREVIOUSLY ESTABLISHED SSL CONNECTION.
+</I>&gt;<i>
+</I>&gt;<i> Is it true?
+</I>&gt;<i>
+</I>&gt;<i> In this regard i can hardly find a place in this world for the &quot;WSS&quot; term, what does it stand for?
+</I>&gt;<i>
+</I>&gt;<i> Please, help me fit it in my head.
+</I>&gt;<i>
+</I>&gt;<i> However, i might be confusing some Client-Side entities, that are involved in the process of starting up my WebSocket.
+</I>&gt;<i>
+</I>&gt;<i> I am using a Browser with JavaScript.
+</I>&gt;<i>
+</I>&gt;<i> The semantics of the very WebSocket.start() operation is not enough clear to me. Please, do not laugh.
+</I>&gt;<i>
+</I>&gt;<i> when i do JS WebSocket.start() does it:
+</I>&gt;<i> (a) opens an http connection and then alters it to WS
+</I>&gt;<i> (b) alters the connection in the context of which the JS process is running
+</I>&gt;<i> ????
+</I>&gt;<i>
+</I>&gt;<i> I'll be damned if the answer was lying on the surface of the internet!
+</I>&gt;<i>
+</I>&gt;<i> The third part of this ugly question is about cowboy actually.
+</I>&gt;<i> How all these entities mentioned above do map into my_app.erl file?
+</I>&gt;<i> what particular bits of cowboy's &quot;configuration&quot; (may i call this particular piece of code a &quot;setup&quot; or &quot;config&quot;?) affect what aspects of the connection initialization.
+</I>&gt;<i>
+</I>&gt;<i> well, i am afraid it could be put in a simpler way:
+</I>&gt;<i> &quot;Exactly When and Where the WSS story begins?&quot;
+</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="https://lists.ninenines.eu/listinfo/extend">https://lists.ninenines.eu/listinfo/extend</A>
+</I>
+</PRE>
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000490.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000489.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#488">[ date ]</a>
+ <a href="thread.html#488">[ thread ]</a>
+ <a href="subject.html#488">[ subject ]</a>
+ <a href="author.html#488">[ 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/2015-January/000489.html b/archives/extend/2015-January/000489.html
new file mode 100644
index 00000000..6539271d
--- /dev/null
+++ b/archives/extend/2015-January/000489.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] websocket over ssl
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B13B3F.5090907%40bestmx.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="000488.html">
+ <LINK REL="Next" HREF="000491.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] websocket over ssl</H1>
+ <B>e at bestmx.net</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B13B3F.5090907%40bestmx.net%3E"
+ TITLE="[99s-extend] websocket over ssl">e at bestmx.net
+ </A><BR>
+ <I>Sat Jan 10 15:46:23 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000488.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#489">[ date ]</a>
+ <a href="thread.html#489">[ thread ]</a>
+ <a href="subject.html#489">[ subject ]</a>
+ <a href="author.html#489">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE> &gt; I use Cowboy for websockets, but I find it&#8217;s a lot easier (and less
+ &gt; stressful) to run Nginx in front of it to provide the SSL layer.
+
+well, nginx is my choice for almost everything, still i am trying to
+minimize amount of intermediate software wherever possible.
+
+P.S.
+with nginx and postgreSQL i have managed to eliminate any trace of
+server-side scripting in my previous project :)
+just nginx connected to Postgres.
+
+</PRE>
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000488.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#489">[ date ]</a>
+ <a href="thread.html#489">[ thread ]</a>
+ <a href="subject.html#489">[ subject ]</a>
+ <a href="author.html#489">[ 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/2015-January/000490.html b/archives/extend/2015-January/000490.html
new file mode 100644
index 00000000..b8782f15
--- /dev/null
+++ b/archives/extend/2015-January/000490.html
@@ -0,0 +1,90 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] websocket over ssl
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B14513.3090804%40bestmx.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="000487.html">
+ <LINK REL="Next" HREF="000488.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] websocket over ssl</H1>
+ <B>e at bestmx.net</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket%20over%20ssl&In-Reply-To=%3C54B14513.3090804%40bestmx.net%3E"
+ TITLE="[99s-extend] websocket over ssl">e at bestmx.net
+ </A><BR>
+ <I>Sat Jan 10 16:28:19 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000487.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000488.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#490">[ date ]</a>
+ <a href="thread.html#490">[ thread ]</a>
+ <a href="subject.html#490">[ subject ]</a>
+ <a href="author.html#490">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>thanx again.
+now everything &quot;magically&quot; works :)
+
+
+On 01/10/2015 03:34 PM, Lo&#239;c Hoguin wrote:
+&gt;<i> Just kernel, stdlib, ssl, cowboy should be enough. Order does not matter
+</I>&gt;<i> I think.
+</I>&gt;<i>
+</I>&gt;<i> On 01/10/2015 03:28 PM, <A HREF="https://lists.ninenines.eu/listinfo/extend">e at bestmx.net</A> wrote:
+</I>&gt;&gt;&gt;<i> In Cowboy, use start_https instead of start_http.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> thanx! it makes a lot of sense for me.
+</I>&gt;&gt;<i> tell me please what deps should be declared in the .app file?
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> is the following correct?
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> {applications, [
+</I>&gt;&gt;<i> kernel,
+</I>&gt;&gt;<i> stdlib,
+</I>&gt;&gt;<i> crypto,
+</I>&gt;&gt;<i> public_key,
+</I>&gt;&gt;<i> ssl,
+</I>&gt;&gt;<i> cowboy
+</I>&gt;&gt;<i> ]},
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> does the order matters?
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> (i borrowed that from the internet without deep understanding of the
+</I>&gt;&gt;<i> roles of each app on the list)
+</I>&gt;<i>
+</I></PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000487.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000488.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#490">[ date ]</a>
+ <a href="thread.html#490">[ thread ]</a>
+ <a href="subject.html#490">[ subject ]</a>
+ <a href="author.html#490">[ 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/2015-January/000491.html b/archives/extend/2015-January/000491.html
new file mode 100644
index 00000000..b4f397a0
--- /dev/null
+++ b/archives/extend/2015-January/000491.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] cowboy and handling exceptions
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy%20and%20handling%20exceptions&In-Reply-To=%3CCAE7Uswd9-1g2QytyFPBWTFzy1KKhBircPT6_Q%3Dg_qBNqwnouow%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="000489.html">
+ <LINK REL="Next" HREF="000492.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] cowboy and handling exceptions</H1>
+ <B>Stefan Strigler</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy%20and%20handling%20exceptions&In-Reply-To=%3CCAE7Uswd9-1g2QytyFPBWTFzy1KKhBircPT6_Q%3Dg_qBNqwnouow%40mail.gmail.com%3E"
+ TITLE="[99s-extend] cowboy and handling exceptions">stefan.strigler at gmail.com
+ </A><BR>
+ <I>Wed Jan 14 17:45:41 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000489.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#491">[ date ]</a>
+ <a href="thread.html#491">[ thread ]</a>
+ <a href="subject.html#491">[ subject ]</a>
+ <a href="author.html#491">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Hey there,
+
+maybe I'm missing the obvious. What I want to do is add some generic
+handler for exception handling. Say we have a set of resources some of
+which delegating stuff to external, other services. These calls might
+result in a
+
+throw({error, timeout})
+
+for instance. How would I add/modify cowboy's middleware (right place?) to
+handle those (known) exception and return a custom error (like 504 -
+Gateway Timeout).
+
+Thanks for any hints,
+
+Steve
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: &lt;<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20150114/3267f73e/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20150114/3267f73e/attachment.html</A>&gt;
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000489.html">[99s-extend] websocket over ssl
+</A></li>
+ <LI>Next message: <A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#491">[ date ]</a>
+ <a href="thread.html#491">[ thread ]</a>
+ <a href="subject.html#491">[ subject ]</a>
+ <a href="author.html#491">[ 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/2015-January/000492.html b/archives/extend/2015-January/000492.html
new file mode 100644
index 00000000..2c11f0b5
--- /dev/null
+++ b/archives/extend/2015-January/000492.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] cowboy and handling exceptions
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy%20and%20handling%20exceptions&In-Reply-To=%3C54B6AC33.8040207%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="000491.html">
+ <LINK REL="Next" HREF="000493.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] cowboy and handling exceptions</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy%20and%20handling%20exceptions&In-Reply-To=%3C54B6AC33.8040207%40ninenines.eu%3E"
+ TITLE="[99s-extend] cowboy and handling exceptions">essen at ninenines.eu
+ </A><BR>
+ <I>Wed Jan 14 18:49:39 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI>Next message: <A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#492">[ date ]</a>
+ <a href="thread.html#492">[ thread ]</a>
+ <a href="subject.html#492">[ subject ]</a>
+ <a href="author.html#492">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>I don't know, there is no such thing in Cowboy. :-)
+
+On 01/14/2015 05:45 PM, Stefan Strigler wrote:
+&gt;<i> Hey there,
+</I>&gt;<i>
+</I>&gt;<i> maybe I'm missing the obvious. What I want to do is add some generic
+</I>&gt;<i> handler for exception handling. Say we have a set of resources some of
+</I>&gt;<i> which delegating stuff to external, other services. These calls might
+</I>&gt;<i> result in a
+</I>&gt;<i>
+</I>&gt;<i> throw({error, timeout})
+</I>&gt;<i>
+</I>&gt;<i> for instance. How would I add/modify cowboy's middleware (right place?)
+</I>&gt;<i> to handle those (known) exception and return a custom error (like 504 -
+</I>&gt;<i> Gateway Timeout).
+</I>&gt;<i>
+</I>&gt;<i> Thanks for any hints,
+</I>&gt;<i>
+</I>&gt;<i> Steve
+</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="https://lists.ninenines.eu/listinfo/extend">https://lists.ninenines.eu/listinfo/extend</A>
+</I>&gt;<i>
+</I>
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI>Next message: <A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#492">[ date ]</a>
+ <a href="thread.html#492">[ thread ]</a>
+ <a href="subject.html#492">[ subject ]</a>
+ <a href="author.html#492">[ 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/2015-January/000493.html b/archives/extend/2015-January/000493.html
new file mode 100644
index 00000000..cb5bf10f
--- /dev/null
+++ b/archives/extend/2015-January/000493.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] cowboy and handling exceptions
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy%20and%20handling%20exceptions&In-Reply-To=%3C54B6AC5D.1080903%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="000492.html">
+ <LINK REL="Next" HREF="000494.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] cowboy and handling exceptions</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy%20and%20handling%20exceptions&In-Reply-To=%3C54B6AC5D.1080903%40ninenines.eu%3E"
+ TITLE="[99s-extend] cowboy and handling exceptions">essen at ninenines.eu
+ </A><BR>
+ <I>Wed Jan 14 18:50:21 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI>Next message: <A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#493">[ date ]</a>
+ <a href="thread.html#493">[ thread ]</a>
+ <a href="subject.html#493">[ subject ]</a>
+ <a href="author.html#493">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>I send too early...
+
+I want to add a hook for when Cowboy receives exceptions in Cowboy 2, so
+at that point you will be able to do it. But nothing in current Cowboy.
+
+On 01/14/2015 06:49 PM, Lo&#239;c Hoguin wrote:
+&gt;<i> I don't know, there is no such thing in Cowboy. :-)
+</I>&gt;<i>
+</I>&gt;<i> On 01/14/2015 05:45 PM, Stefan Strigler wrote:
+</I>&gt;&gt;<i> Hey there,
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> maybe I'm missing the obvious. What I want to do is add some generic
+</I>&gt;&gt;<i> handler for exception handling. Say we have a set of resources some of
+</I>&gt;&gt;<i> which delegating stuff to external, other services. These calls might
+</I>&gt;&gt;<i> result in a
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> throw({error, timeout})
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> for instance. How would I add/modify cowboy's middleware (right place?)
+</I>&gt;&gt;<i> to handle those (known) exception and return a custom error (like 504 -
+</I>&gt;&gt;<i> Gateway Timeout).
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Thanks for any hints,
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Steve
+</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="https://lists.ninenines.eu/listinfo/extend">https://lists.ninenines.eu/listinfo/extend</A>
+</I>&gt;&gt;<i>
+</I>&gt;<i>
+</I>
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI>Next message: <A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#493">[ date ]</a>
+ <a href="thread.html#493">[ thread ]</a>
+ <a href="subject.html#493">[ subject ]</a>
+ <a href="author.html#493">[ 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/2015-January/000494.html b/archives/extend/2015-January/000494.html
new file mode 100644
index 00000000..fb053469
--- /dev/null
+++ b/archives/extend/2015-January/000494.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy + SSL
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20%2B%20SSL&In-Reply-To=%3C54BD5BB0.4000503%40bestmx.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="000493.html">
+ <LINK REL="Next" HREF="000495.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy + SSL</H1>
+ <B>e at bestmx.net</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20%2B%20SSL&In-Reply-To=%3C54BD5BB0.4000503%40bestmx.net%3E"
+ TITLE="[99s-extend] Cowboy + SSL">e at bestmx.net
+ </A><BR>
+ <I>Mon Jan 19 20:32:00 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI>Next message: <A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#494">[ date ]</a>
+ <a href="thread.html#494">[ thread ]</a>
+ <a href="subject.html#494">[ subject ]</a>
+ <a href="author.html#494">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Hello.
+
+i still have a problem with SSL.
+as soon as i change cowboy:start_http call to cowboy:start_https
+my release refuses to stop (when requested)
+and when i revert to &quot;http&quot; it starts and stops normally.
+
+i am sure it is the only difference: start_http vs. start_https
+
+i am using relx with default settings as it was provided by cowboy
+(Erlang R17, System: Debian &quot;testing&quot;)
+
+here is my_app.erl:
+
+start(_Type, _Args) -&gt;
+ Dispatch =
+ cowboy_router:compile([{'_', [{&quot;/start&quot;, ws_handler, []}]}]),
+
+ cowboy:start_https( https, 100, [ {port, 8765}
+ , {cacertfile, ?Dir ++ &quot;/ssl/cowboy-ca.crt&quot;}
+ , {certfile, ?Dir ++ &quot;/ssl/server.crt&quot;}
+ , {keyfile, ?Dir ++ &quot;/ssl/server.key&quot;} ]
+ , [{env, [{dispatch, Dispatch}]}]),
+
+ online37_sup:start_link().
+
+stop(_State) -&gt; ok.
+
+
+once i call:
+release/bin/my_release stop
+
+the erlang.log repeats hundreds of:
+
+=ERROR REPORT==== 19-Jan-2015::20:06:02 ===
+Error in process &lt;0.234.0&gt; on node '<A HREF="https://lists.ninenines.eu/listinfo/extend">online37 at 127.0.0.1</A>' with exit value:
+{{case_clause,{error,closed}},[{ranch_acceptor,loop,3,[{file,&quot;src/ranch_acceptor.erl&quot;},{line,28}]}]}
+
+
+what could it be?
+any misconfiguration of my system (regarding ssl support)?
+what exactly does ranch expect from me?
+
+
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A></li>
+ <LI>Next message: <A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#494">[ date ]</a>
+ <a href="thread.html#494">[ thread ]</a>
+ <a href="subject.html#494">[ subject ]</a>
+ <a href="author.html#494">[ 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/2015-January/000495.html b/archives/extend/2015-January/000495.html
new file mode 100644
index 00000000..155c3fda
--- /dev/null
+++ b/archives/extend/2015-January/000495.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy + SSL
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20%2B%20SSL&In-Reply-To=%3C54BFEFD8.7070003%40bestmx.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="000494.html">
+ <LINK REL="Next" HREF="000499.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy + SSL</H1>
+ <B>e at bestmx.net</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20%2B%20SSL&In-Reply-To=%3C54BFEFD8.7070003%40bestmx.net%3E"
+ TITLE="[99s-extend] Cowboy + SSL">e at bestmx.net
+ </A><BR>
+ <I>Wed Jan 21 19:28:40 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI>Next message: <A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#495">[ date ]</a>
+ <a href="thread.html#495">[ thread ]</a>
+ <a href="subject.html#495">[ subject ]</a>
+ <a href="author.html#495">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>reading the sources i have found that this crash i am trying to report
+is intended behavior,
+but
+it happens in the middle of the SHUTDOWN procedure!
+
+
+I tried to investigate how a relx's release shuts down
+and i have found it is merely one call to: init:stop/0
+nothing else.
+
+the manual says:
+
+stop() -&gt; ok
+
+All applications are taken down smoothly, all code is unloaded, and all
+ports are closed before the system terminates. If the -heart command
+line flag was given, the heart program is terminated before the Erlang
+node terminates.
+
+I end up totally clueless -- everything is rock solid yet it crashes.
+maybe there is some clue in the sequence of shutting down applications?
+
+does anything controls/defines that sequence?
+
+
+
+On 01/19/2015 08:32 PM, <A HREF="https://lists.ninenines.eu/listinfo/extend">e at bestmx.net</A> wrote:
+&gt;<i> Hello.
+</I>&gt;<i>
+</I>&gt;<i> i still have a problem with SSL.
+</I>&gt;<i> as soon as i change cowboy:start_http call to cowboy:start_https
+</I>&gt;<i> my release refuses to stop (when requested)
+</I>&gt;<i> and when i revert to &quot;http&quot; it starts and stops normally.
+</I>&gt;<i>
+</I>&gt;<i> i am sure it is the only difference: start_http vs. start_https
+</I>&gt;<i>
+</I>&gt;<i> i am using relx with default settings as it was provided by cowboy
+</I>&gt;<i> (Erlang R17, System: Debian &quot;testing&quot;)
+</I>&gt;<i>
+</I>&gt;<i> here is my_app.erl:
+</I>&gt;<i>
+</I>&gt;<i> start(_Type, _Args) -&gt;
+</I>&gt;<i> Dispatch =
+</I>&gt;<i> cowboy_router:compile([{'_', [{&quot;/start&quot;, ws_handler, []}]}]),
+</I>&gt;<i>
+</I>&gt;<i> cowboy:start_https( https, 100, [ {port, 8765}
+</I>&gt;<i> , {cacertfile, ?Dir ++ &quot;/ssl/cowboy-ca.crt&quot;}
+</I>&gt;<i> , {certfile, ?Dir ++ &quot;/ssl/server.crt&quot;}
+</I>&gt;<i> , {keyfile, ?Dir ++ &quot;/ssl/server.key&quot;} ]
+</I>&gt;<i> , [{env, [{dispatch, Dispatch}]}]),
+</I>&gt;<i>
+</I>&gt;<i> online37_sup:start_link().
+</I>&gt;<i>
+</I>&gt;<i> stop(_State) -&gt; ok.
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> once i call:
+</I>&gt;<i> release/bin/my_release stop
+</I>&gt;<i>
+</I>&gt;<i> the erlang.log repeats hundreds of:
+</I>&gt;<i>
+</I>&gt;<i> =ERROR REPORT==== 19-Jan-2015::20:06:02 ===
+</I>&gt;<i> Error in process &lt;0.234.0&gt; on node '<A HREF="https://lists.ninenines.eu/listinfo/extend">online37 at 127.0.0.1</A>' with exit value:
+</I>&gt;<i> {{case_clause,{error,closed}},[{ranch_acceptor,loop,3,[{file,&quot;src/ranch_acceptor.erl&quot;},{line,28}]}]}
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> what could it be?
+</I>&gt;<i> any misconfiguration of my system (regarding ssl support)?
+</I>&gt;<i> what exactly does ranch expect from me?
+</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="https://lists.ninenines.eu/listinfo/extend">https://lists.ninenines.eu/listinfo/extend</A>
+</I></PRE>
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI>Next message: <A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#495">[ date ]</a>
+ <a href="thread.html#495">[ thread ]</a>
+ <a href="subject.html#495">[ subject ]</a>
+ <a href="author.html#495">[ 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/2015-January/000496.html b/archives/extend/2015-January/000496.html
new file mode 100644
index 00000000..880322a2
--- /dev/null
+++ b/archives/extend/2015-January/000496.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422225008.17343.6.camel%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="000500.html">
+ <LINK REL="Next" HREF="000497.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Paul Dickson</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422225008.17343.6.camel%40gmail.com%3E"
+ TITLE="[99s-extend] Rewriting URLs">pdtwonotes at gmail.com
+ </A><BR>
+ <I>Sun Jan 25 23:30:08 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI>Next message: <A HREF="000497.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#496">[ date ]</a>
+ <a href="thread.html#496">[ thread ]</a>
+ <a href="subject.html#496">[ subject ]</a>
+ <a href="author.html#496">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>I am trying to write a middleware step that will modify the URL in a
+request before it gets to the default static request handler. I can not
+find an example of how to do this. What I&#12288;have so far:
+
+execute( Req, Env ) -&gt;
+ HostUrl = cowboy_req:host_url(Req),
+ NewUrl = rewrite( HostUrl ),
+ NewReq = ???
+ {ok, NewReq, Env}.
+
+How do I modify a Request object so that it contains my modified URL,
+which cowboy_static will then process normally? My 'rewrite' function
+converts logical directory names into real file-system paths, using a
+dynamic algorithm that can not be simply written into cowboy's dispatch
+rules.
+
+The dispatch rules I am using is as follows, where 'bz_libmap' is my
+module containing the code above:
+ {&quot;/music/[...]&quot;, cowboy_static, {dir, bz_libmap, &quot;&quot;}},
+
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: &lt;<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20150125/370811e4/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20150125/370811e4/attachment.html</A>&gt;
+</PRE>
+
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI>Next message: <A HREF="000497.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#496">[ date ]</a>
+ <a href="thread.html#496">[ thread ]</a>
+ <a href="subject.html#496">[ subject ]</a>
+ <a href="author.html#496">[ 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/2015-January/000497.html b/archives/extend/2015-January/000497.html
new file mode 100644
index 00000000..4cb02878
--- /dev/null
+++ b/archives/extend/2015-January/000497.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3CCAOdRa2a5%2B57KeT3xWwabFxoWSMU8yysqVZvQFVQVVL-FJCAz4w%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="000496.html">
+ <LINK REL="Next" HREF="000498.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Paul Dickson</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3CCAOdRa2a5%2B57KeT3xWwabFxoWSMU8yysqVZvQFVQVVL-FJCAz4w%40mail.gmail.com%3E"
+ TITLE="[99s-extend] Rewriting URLs">pdtwonotes at gmail.com
+ </A><BR>
+ <I>Mon Jan 26 06:09:49 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000496.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000498.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#497">[ date ]</a>
+ <a href="thread.html#497">[ thread ]</a>
+ <a href="subject.html#497">[ subject ]</a>
+ <a href="author.html#497">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Some progress. I think this is how the code should look in my middleware:
+
+execute( Req, Env ) -&gt;
+ HostUrl = cowboy_req:path(Req),
+ NewUrl = rewrite( HostUrl ),
+ NewReq = cowboy_req:set( [{path,NewUrl}], Req),
+ {ok, NewReq, Env}.
+
+It is getting called, but cowboy_static is being passed the wrong
+thing afterward. I think I do not understand how to write the
+dispatch rule. The value of NewUrl is an absolute filename.
+
+ {&quot;/music/[...]&quot;, cowboy_static, {dir, bz_libmap, &quot;&quot;}},
+</PRE>
+
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000496.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000498.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#497">[ date ]</a>
+ <a href="thread.html#497">[ thread ]</a>
+ <a href="subject.html#497">[ subject ]</a>
+ <a href="author.html#497">[ 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/2015-January/000498.html b/archives/extend/2015-January/000498.html
new file mode 100644
index 00000000..5762dfa4
--- /dev/null
+++ b/archives/extend/2015-January/000498.html
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54C61662.4050309%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="000497.html">
+ <LINK REL="Next" HREF="000501.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54C61662.4050309%40ninenines.eu%3E"
+ TITLE="[99s-extend] Rewriting URLs">essen at ninenines.eu
+ </A><BR>
+ <I>Mon Jan 26 11:26:42 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000497.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000501.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#498">[ date ]</a>
+ <a href="thread.html#498">[ thread ]</a>
+ <a href="subject.html#498">[ subject ]</a>
+ <a href="author.html#498">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>You have to change path_info too if your middleware is after the router.
+
+On 01/26/2015 06:09 AM, Paul Dickson wrote:
+&gt;<i> Some progress. I think this is how the code should look in my middleware:
+</I>&gt;<i>
+</I>&gt;<i> execute( Req, Env ) -&gt;
+</I>&gt;<i> HostUrl = cowboy_req:path(Req),
+</I>&gt;<i> NewUrl = rewrite( HostUrl ),
+</I>&gt;<i> NewReq = cowboy_req:set( [{path,NewUrl}], Req),
+</I>&gt;<i> {ok, NewReq, Env}.
+</I>&gt;<i>
+</I>&gt;<i> It is getting called, but cowboy_static is being passed the wrong
+</I>&gt;<i> thing afterward. I think I do not understand how to write the
+</I>&gt;<i> dispatch rule. The value of NewUrl is an absolute filename.
+</I>&gt;<i>
+</I>&gt;<i> {&quot;/music/[...]&quot;, cowboy_static, {dir, bz_libmap, &quot;&quot;}},
+</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="https://lists.ninenines.eu/listinfo/extend">https://lists.ninenines.eu/listinfo/extend</A>
+</I>&gt;<i>
+</I>
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000497.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000501.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#498">[ date ]</a>
+ <a href="thread.html#498">[ thread ]</a>
+ <a href="subject.html#498">[ subject ]</a>
+ <a href="author.html#498">[ 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/2015-January/000499.html b/archives/extend/2015-January/000499.html
new file mode 100644
index 00000000..36cc0ebc
--- /dev/null
+++ b/archives/extend/2015-January/000499.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy + SSL
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20%2B%20SSL&In-Reply-To=%3C54C6170E.6030709%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="000495.html">
+ <LINK REL="Next" HREF="000500.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy + SSL</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20%2B%20SSL&In-Reply-To=%3C54C6170E.6030709%40ninenines.eu%3E"
+ TITLE="[99s-extend] Cowboy + SSL">essen at ninenines.eu
+ </A><BR>
+ <I>Mon Jan 26 11:29:34 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI>Next message: <A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#499">[ date ]</a>
+ <a href="thread.html#499">[ thread ]</a>
+ <a href="subject.html#499">[ subject ]</a>
+ <a href="author.html#499">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Hey, this is a known issue with recent Erlang versions:
+<A HREF="https://github.com/ninenines/ranch/issues/90">https://github.com/ninenines/ranch/issues/90</A>
+
+I don't have a good fix for it other than requiring ssl for using
+Cowboy/Ranch. I probably will.
+
+On 01/21/2015 07:28 PM, <A HREF="https://lists.ninenines.eu/listinfo/extend">e at bestmx.net</A> wrote:
+&gt;<i> reading the sources i have found that this crash i am trying to report
+</I>&gt;<i> is intended behavior,
+</I>&gt;<i> but
+</I>&gt;<i> it happens in the middle of the SHUTDOWN procedure!
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> I tried to investigate how a relx's release shuts down
+</I>&gt;<i> and i have found it is merely one call to: init:stop/0
+</I>&gt;<i> nothing else.
+</I>&gt;<i>
+</I>&gt;<i> the manual says:
+</I>&gt;<i>
+</I>&gt;<i> stop() -&gt; ok
+</I>&gt;<i>
+</I>&gt;<i> All applications are taken down smoothly, all code is unloaded, and all
+</I>&gt;<i> ports are closed before the system terminates. If the -heart command
+</I>&gt;<i> line flag was given, the heart program is terminated before the Erlang
+</I>&gt;<i> node terminates.
+</I>&gt;<i>
+</I>&gt;<i> I end up totally clueless -- everything is rock solid yet it crashes.
+</I>&gt;<i> maybe there is some clue in the sequence of shutting down applications?
+</I>&gt;<i>
+</I>&gt;<i> does anything controls/defines that sequence?
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> On 01/19/2015 08:32 PM, <A HREF="https://lists.ninenines.eu/listinfo/extend">e at bestmx.net</A> wrote:
+</I>&gt;&gt;<i> Hello.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> i still have a problem with SSL.
+</I>&gt;&gt;<i> as soon as i change cowboy:start_http call to cowboy:start_https
+</I>&gt;&gt;<i> my release refuses to stop (when requested)
+</I>&gt;&gt;<i> and when i revert to &quot;http&quot; it starts and stops normally.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> i am sure it is the only difference: start_http vs. start_https
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> i am using relx with default settings as it was provided by cowboy
+</I>&gt;&gt;<i> (Erlang R17, System: Debian &quot;testing&quot;)
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> here is my_app.erl:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> start(_Type, _Args) -&gt;
+</I>&gt;&gt;<i> Dispatch =
+</I>&gt;&gt;<i> cowboy_router:compile([{'_', [{&quot;/start&quot;, ws_handler, []}]}]),
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> cowboy:start_https( https, 100, [ {port, 8765}
+</I>&gt;&gt;<i> , {cacertfile, ?Dir ++ &quot;/ssl/cowboy-ca.crt&quot;}
+</I>&gt;&gt;<i> , {certfile, ?Dir ++ &quot;/ssl/server.crt&quot;}
+</I>&gt;&gt;<i> , {keyfile, ?Dir ++ &quot;/ssl/server.key&quot;} ]
+</I>&gt;&gt;<i> , [{env, [{dispatch, Dispatch}]}]),
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> online37_sup:start_link().
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> stop(_State) -&gt; ok.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> once i call:
+</I>&gt;&gt;<i> release/bin/my_release stop
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> the erlang.log repeats hundreds of:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> =ERROR REPORT==== 19-Jan-2015::20:06:02 ===
+</I>&gt;&gt;<i> Error in process &lt;0.234.0&gt; on node '<A HREF="https://lists.ninenines.eu/listinfo/extend">online37 at 127.0.0.1</A>' with exit value:
+</I>&gt;&gt;<i> {{case_clause,{error,closed}},[{ranch_acceptor,loop,3,[{file,&quot;src/ranch_acceptor.erl&quot;},{line,28}]}]}
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> what could it be?
+</I>&gt;&gt;<i> any misconfiguration of my system (regarding ssl support)?
+</I>&gt;&gt;<i> what exactly does ranch expect from me?
+</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="https://lists.ninenines.eu/listinfo/extend">https://lists.ninenines.eu/listinfo/extend</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="https://lists.ninenines.eu/listinfo/extend">https://lists.ninenines.eu/listinfo/extend</A>
+</I>
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI>Next message: <A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#499">[ date ]</a>
+ <a href="thread.html#499">[ thread ]</a>
+ <a href="subject.html#499">[ subject ]</a>
+ <a href="author.html#499">[ 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/2015-January/000500.html b/archives/extend/2015-January/000500.html
new file mode 100644
index 00000000..c77ec536
--- /dev/null
+++ b/archives/extend/2015-January/000500.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Cowboy + SSL
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20%2B%20SSL&In-Reply-To=%3C54C64FA0.7040808%40bestmx.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="000499.html">
+ <LINK REL="Next" HREF="000496.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Cowboy + SSL</H1>
+ <B>e at bestmx.net</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20%2B%20SSL&In-Reply-To=%3C54C64FA0.7040808%40bestmx.net%3E"
+ TITLE="[99s-extend] Cowboy + SSL">e at bestmx.net
+ </A><BR>
+ <I>Mon Jan 26 15:30:56 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI>Next message: <A HREF="000496.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#500">[ date ]</a>
+ <a href="thread.html#500">[ thread ]</a>
+ <a href="subject.html#500">[ subject ]</a>
+ <a href="author.html#500">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>&gt;<i> Hey, this is a known issue with recent Erlang versions:
+</I>&gt;<i> <A HREF="https://github.com/ninenines/ranch/issues/90">https://github.com/ninenines/ranch/issues/90</A>
+</I>
+sorry i didn't know a keyword for googling this issue
+
+well, it seems to me very interesting problem -- basically a dependency
+that appears in runtime (if i do not pass an ssl socket to the ranch,
+there will be no dependency).
+
+i dare to suggest few alternative approaches to the solution:
+
+(A) make the shutdown state distinguishable for the 'ranch_acceptor', so
+that not to crash in one particular sub case of the preliminary socket
+close. (a terrible STATEFUL solution, i do not dare to suggest how to
+pass this state to the acceptor)
+
+(B) make it possible *in general* to pass additional dependencies to the
+applications that your application depends on. (as for now i can define
+in my .app.src any arbitrary deps for the &quot;top&quot; application, and then
+this .app.src will be processed anyway, there is no harm in improving
+this .app preparation procedure one step further, in order to affect
+.app files of subordinate applications. (it is perhaps a suggestion for
+relx devs, anyway, nobody forbid us to discuss it))
+
+there are some alternative ways to achieve (B)
+
+(B1)
+it would be a mere change of the type of the 'applications' option in
+.app.src -- we may make it a tree instead of a list.
+for example:
+
+{applications, [
+ kernel,
+ stdlib,
+ mnesia,
+ {cowboy, [{ranch, [ssl]}]}
+]}
+%% which reads: my app requires all these,
+%% and cowboy must require ranch and ranch must require ssl
+
+it could (or should?) be shortened to:
+
+(B2)
+%% my app requires all these,
+%% and *IF* 'ranch' is somehow required then it must require ssl
+{applications, [
+ kernel,
+ stdlib,
+ mnesia,
+ cowboy,
+ {ranch, [ssl]}
+]}
+
+this in turn makes separation possible:
+
+(B3)
+we specify all applications we require as a plain list, and then we
+specify PARTIAL ORDER: we need some certain pairs of applications to be
+started in certain sequences.
+
+{applications, [
+ kernel,
+ stdlib,
+ mnesia,
+ ssl,
+ cowboy
+]},
+{sequence, [
+ [ssl, ranch],
+]}
+
+%% which reads: my app requires those apps to start
+%% and among these it requires the ssl to be started BEFORE ranch
+
+%% generally we may specify any amount
+%% of subsequences we care about:
+{sequence, [
+ [ssl, ranch],
+ [ranch, cowboy_lib, cowboy],
+ [appA1, appA2, appA3, ...],
+ ...
+]}
+
+of course the specified sequence MIGHT BE IMPOSSIBLE (self-refuting) and
+it needs to be verified, which is formally possible.
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A></li>
+ <LI>Next message: <A HREF="000496.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#500">[ date ]</a>
+ <a href="thread.html#500">[ thread ]</a>
+ <a href="subject.html#500">[ subject ]</a>
+ <a href="author.html#500">[ 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/2015-January/000501.html b/archives/extend/2015-January/000501.html
new file mode 100644
index 00000000..71c5f68c
--- /dev/null
+++ b/archives/extend/2015-January/000501.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422309249.26262.15.camel%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="000498.html">
+ <LINK REL="Next" HREF="000502.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Paul Dickson</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422309249.26262.15.camel%40gmail.com%3E"
+ TITLE="[99s-extend] Rewriting URLs">pdtwonotes at gmail.com
+ </A><BR>
+ <I>Mon Jan 26 22:54:09 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000498.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000502.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#501">[ date ]</a>
+ <a href="thread.html#501">[ thread ]</a>
+ <a href="subject.html#501">[ subject ]</a>
+ <a href="author.html#501">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On Mon, 2015-01-26 at 11:26 +0100, Lo&#239;c Hoguin wrote:
+&gt;<i> You have to change path_info too if your middleware is after the router.
+</I>&gt;<i>
+</I>I have added that. My cowboy:start_http parameters include this:
+ {middlewares, [cowboy_router, bz_libmap, cowboy_handler]}
+which I think means bz_libmap will get called on *every* request. This
+seems to work. Among the dispatch rules is this line:
+ {&quot;/music/[...]&quot;, cowboy_static, {dir, &quot;&quot;, &quot;&quot;}},
+so any request starting with &quot;/music/ will do a standard file fetch.
+But due to the middlewares setup, bz_libmap will get a chance to
+look at it first.
+
+bz_libmap checks the path to see if it starts with &quot;/music/&quot;, and if
+not, it just returns {ok,Req,Env} and lets processing proceed normally.
+This works, and other dispatch rules take care of it, usually fetching
+files from priv_dir.
+
+But if bz_libmap sees &quot;/music/&quot; at the start of the URL it transforms
+the URL into something else, an absolute filename typically of an mp3
+file. This is what I want cowboy_static to process. Hopefully, this
+does not run through the dispatch rules again.
+
+bz_libmap computes a new path and a new path_info and sets them with a
+cowboy_req:set call. I am not sure what path_info should look like at
+this point, because the path is no longer covered by any of the dispatch
+rules. I do not want it to be, as that would allow a browser to fetch
+any file in the file system, unchecked.
+
+But what happens is any attempts to fetch /music/Anything result in a
+status 400 error.
+
+The other approach I was considering was to make my own handler, based
+on cowboy_static, that does the URL/File transformation internally. But
+even that might not be right, since it eventually upgrades to
+cowboy_rest and there is more processing after that. This approach
+seems inelegant.
+
+The actual only call to file:open I found in all of cowboy is in
+cowboy_spdy.
+
+
+
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000498.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000502.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#501">[ date ]</a>
+ <a href="thread.html#501">[ thread ]</a>
+ <a href="subject.html#501">[ subject ]</a>
+ <a href="author.html#501">[ 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/2015-January/000502.html b/archives/extend/2015-January/000502.html
new file mode 100644
index 00000000..601c9e23
--- /dev/null
+++ b/archives/extend/2015-January/000502.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54C764D5.5020404%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="000501.html">
+ <LINK REL="Next" HREF="000503.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54C764D5.5020404%40ninenines.eu%3E"
+ TITLE="[99s-extend] Rewriting URLs">essen at ninenines.eu
+ </A><BR>
+ <I>Tue Jan 27 11:13:41 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000501.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000503.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#502">[ date ]</a>
+ <a href="thread.html#502">[ thread ]</a>
+ <a href="subject.html#502">[ subject ]</a>
+ <a href="author.html#502">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On 01/26/2015 10:54 PM, Paul Dickson wrote:
+&gt;<i> On Mon, 2015-01-26 at 11:26 +0100, Lo&#239;c Hoguin wrote:
+</I>&gt;&gt;<i> You have to change path_info too if your middleware is after the router.
+</I>&gt;&gt;<i>
+</I>&gt;<i> I have added that. My cowboy:start_http parameters include this:
+</I>&gt;<i> {middlewares, [cowboy_router, bz_libmap, cowboy_handler]}
+</I>&gt;<i> which I think means bz_libmap will get called on *every* request. This
+</I>&gt;<i> seems to work. Among the dispatch rules is this line:
+</I>&gt;<i> {&quot;/music/[...]&quot;, cowboy_static, {dir, &quot;&quot;, &quot;&quot;}},
+</I>
+Is it the actual line? Cause {dir, &quot;&quot;, &quot;&quot;} is wrong, the third element
+must be an etag or mimetype tuple.
+
+Otherwise, I need a more complete error, or code.
+
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000501.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000503.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#502">[ date ]</a>
+ <a href="thread.html#502">[ thread ]</a>
+ <a href="subject.html#502">[ subject ]</a>
+ <a href="author.html#502">[ 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/2015-January/000503.html b/archives/extend/2015-January/000503.html
new file mode 100644
index 00000000..4ed34cd0
--- /dev/null
+++ b/archives/extend/2015-January/000503.html
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422364068.30127.5.camel%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="000502.html">
+ <LINK REL="Next" HREF="000504.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Paul Dickson</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422364068.30127.5.camel%40gmail.com%3E"
+ TITLE="[99s-extend] Rewriting URLs">pdtwonotes at gmail.com
+ </A><BR>
+ <I>Tue Jan 27 14:07:48 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000502.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000504.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#503">[ date ]</a>
+ <a href="thread.html#503">[ thread ]</a>
+ <a href="subject.html#503">[ subject ]</a>
+ <a href="author.html#503">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On Tue, 2015-01-27 at 11:13 +0100, Lo&#239;c Hoguin wrote:
+&gt;<i> On 01/26/2015 10:54 PM, Paul Dickson wrote:
+</I>&gt;<i> &gt; On Mon, 2015-01-26 at 11:26 +0100, Lo&#239;c Hoguin wrote:
+</I>&gt;<i> &gt;&gt; You have to change path_info too if your middleware is after the router.
+</I>&gt;<i> &gt;&gt;
+</I>&gt;<i> &gt; I have added that. My cowboy:start_http parameters include this:
+</I>&gt;<i> &gt; {middlewares, [cowboy_router, bz_libmap, cowboy_handler]}
+</I>&gt;<i> &gt; which I think means bz_libmap will get called on *every* request. This
+</I>&gt;<i> &gt; seems to work. Among the dispatch rules is this line:
+</I>&gt;<i> &gt; {&quot;/music/[...]&quot;, cowboy_static, {dir, &quot;&quot;, &quot;&quot;}},
+</I>&gt;<i>
+</I>&gt;<i> Is it the actual line? Cause {dir, &quot;&quot;, &quot;&quot;} is wrong, the third element
+</I>&gt;<i> must be an etag or mimetype tuple.
+</I>&gt;<i>
+</I>&gt;<i> Otherwise, I need a more complete error, or code.
+</I>
+I changed the rule line to:
+
+ {&quot;/music/[...]&quot;, cowboy_static, {dir, &quot;&quot;, [
+ {mimetypes, cow_mimetypes, all}]}},
+
+The client I am using is 'mplayer'. The error message is:
+
+ Server returned 400:Bad Request
+ Failed to parse header.
+ Failed, exiting.
+
+I also included some tracing in my middleware module to print
+out the new path and path_info values it is setting, showing
+the result of the rewrite algorithm.
+
+ Path &lt;&lt;&quot;/music/Library/Folk/Swiss/Alphorn.ogg&quot;&gt;&gt;
+ Info [&lt;&lt;&quot;/&quot;&gt;&gt;,&lt;&lt;&quot;music&quot;&gt;&gt;,&lt;&lt;&quot;Library&quot;&gt;&gt;,&lt;&lt;&quot;Folk&quot;&gt;&gt;,&lt;&lt;&quot;Swiss&quot;&gt;&gt;,
+ &lt;&lt;&quot;Alphorn.ogg&quot;&gt;&gt;]
+
+
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000502.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000504.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#503">[ date ]</a>
+ <a href="thread.html#503">[ thread ]</a>
+ <a href="subject.html#503">[ subject ]</a>
+ <a href="author.html#503">[ 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/2015-January/000504.html b/archives/extend/2015-January/000504.html
new file mode 100644
index 00000000..3609d77f
--- /dev/null
+++ b/archives/extend/2015-January/000504.html
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54C78E62.9020307%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="000503.html">
+ <LINK REL="Next" HREF="000505.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54C78E62.9020307%40ninenines.eu%3E"
+ TITLE="[99s-extend] Rewriting URLs">essen at ninenines.eu
+ </A><BR>
+ <I>Tue Jan 27 14:10:58 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000503.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000505.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#504">[ date ]</a>
+ <a href="thread.html#504">[ thread ]</a>
+ <a href="subject.html#504">[ subject ]</a>
+ <a href="author.html#504">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On 01/27/2015 02:07 PM, Paul Dickson wrote:
+&gt;<i> Info [&lt;&lt;&quot;/&quot;&gt;&gt;,&lt;&lt;&quot;music&quot;&gt;&gt;,&lt;&lt;&quot;Library&quot;&gt;&gt;,&lt;&lt;&quot;Folk&quot;&gt;&gt;,&lt;&lt;&quot;Swiss&quot;&gt;&gt;,
+</I>&gt;<i> &lt;&lt;&quot;Alphorn.ogg&quot;&gt;&gt;]
+</I>
+Should be from Library onward, and not include the first two elements.
+
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000503.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000505.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#504">[ date ]</a>
+ <a href="thread.html#504">[ thread ]</a>
+ <a href="subject.html#504">[ subject ]</a>
+ <a href="author.html#504">[ 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/2015-January/000505.html b/archives/extend/2015-January/000505.html
new file mode 100644
index 00000000..e842c26d
--- /dev/null
+++ b/archives/extend/2015-January/000505.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422365070.30127.8.camel%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="000504.html">
+ <LINK REL="Next" HREF="000506.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Paul Dickson</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422365070.30127.8.camel%40gmail.com%3E"
+ TITLE="[99s-extend] Rewriting URLs">pdtwonotes at gmail.com
+ </A><BR>
+ <I>Tue Jan 27 14:24:30 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000504.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000506.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#505">[ date ]</a>
+ <a href="thread.html#505">[ thread ]</a>
+ <a href="subject.html#505">[ subject ]</a>
+ <a href="author.html#505">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On Tue, 2015-01-27 at 14:10 +0100, Lo&#239;c Hoguin wrote:
+
+&gt;<i> On 01/27/2015 02:07 PM, Paul Dickson wrote:
+</I>&gt;<i> &gt; Info [&lt;&lt;&quot;/&quot;&gt;&gt;,&lt;&lt;&quot;music&quot;&gt;&gt;,&lt;&lt;&quot;Library&quot;&gt;&gt;,&lt;&lt;&quot;Folk&quot;&gt;&gt;,&lt;&lt;&quot;Swiss&quot;&gt;&gt;,
+</I>&gt;<i> &gt; &lt;&lt;&quot;Alphorn.ogg&quot;&gt;&gt;]
+</I>&gt;<i>
+</I>&gt;<i> Should be from Library onward, and not include the first two elements.
+</I>&gt;<i>
+</I>
+
+This is perhaps a confusing case, because the incoming URL and the
+transformed URL both start with &quot;/music&quot;. What if that was not the
+case, and the resulting path was, for example,
+
+ /home/me/music/Folk/Swiss/Alphorn.ogg
+
+which does not match anything in the rules at all? Is that allowed, or
+must the rewritten URL also match a rule?
+-------------- next part --------------
+An HTML attachment was scrubbed...
+URL: &lt;<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20150127/1916d612/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20150127/1916d612/attachment.html</A>&gt;
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000504.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000506.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#505">[ date ]</a>
+ <a href="thread.html#505">[ thread ]</a>
+ <a href="subject.html#505">[ subject ]</a>
+ <a href="author.html#505">[ 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/2015-January/000506.html b/archives/extend/2015-January/000506.html
new file mode 100644
index 00000000..851bc42f
--- /dev/null
+++ b/archives/extend/2015-January/000506.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54C792B0.3040406%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="000505.html">
+ <LINK REL="Next" HREF="000507.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54C792B0.3040406%40ninenines.eu%3E"
+ TITLE="[99s-extend] Rewriting URLs">essen at ninenines.eu
+ </A><BR>
+ <I>Tue Jan 27 14:29:20 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000505.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000507.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#506">[ date ]</a>
+ <a href="thread.html#506">[ thread ]</a>
+ <a href="subject.html#506">[ subject ]</a>
+ <a href="author.html#506">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On 01/27/2015 02:24 PM, Paul Dickson wrote:
+&gt;<i> On Tue, 2015-01-27 at 14:10 +0100, Lo&#239;c Hoguin wrote:
+</I>&gt;&gt;<i> On 01/27/2015 02:07 PM, Paul Dickson wrote:
+</I>&gt;&gt;<i> &gt; Info [&lt;&lt;&quot;/&quot;&gt;&gt;,&lt;&lt;&quot;music&quot;&gt;&gt;,&lt;&lt;&quot;Library&quot;&gt;&gt;,&lt;&lt;&quot;Folk&quot;&gt;&gt;,&lt;&lt;&quot;Swiss&quot;&gt;&gt;,
+</I>&gt;&gt;<i> &gt; &lt;&lt;&quot;Alphorn.ogg&quot;&gt;&gt;]
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Should be from Library onward, and not include the first two elements.
+</I>&gt;&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> This is perhaps a confusing case, because the incoming URL and the
+</I>&gt;<i> transformed URL both start with &quot;/music&quot;. What if that was not the
+</I>&gt;<i> case, and the resulting path was, for example,
+</I>&gt;<i>
+</I>&gt;<i> /home/me/music/Folk/Swiss/Alphorn.ogg
+</I>&gt;<i>
+</I>&gt;<i> which does not match anything in the rules at all? Is that allowed, or
+</I>&gt;<i> must the rewritten URL also match a rule?
+</I>
+Middlewares execute in order and only once, so not sure what you're asking.
+
+Again I'd need to see some code to help you as I am quite confused by
+what you are trying to do and what your issue is.
+
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000505.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000507.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#506">[ date ]</a>
+ <a href="thread.html#506">[ thread ]</a>
+ <a href="subject.html#506">[ subject ]</a>
+ <a href="author.html#506">[ 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/2015-January/000507.html b/archives/extend/2015-January/000507.html
new file mode 100644
index 00000000..a16a39c2
--- /dev/null
+++ b/archives/extend/2015-January/000507.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422366254.30127.15.camel%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="000506.html">
+ <LINK REL="Next" HREF="000508.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Paul Dickson</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C1422366254.30127.15.camel%40gmail.com%3E"
+ TITLE="[99s-extend] Rewriting URLs">pdtwonotes at gmail.com
+ </A><BR>
+ <I>Tue Jan 27 14:44:14 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000506.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000508.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#507">[ date ]</a>
+ <a href="thread.html#507">[ thread ]</a>
+ <a href="subject.html#507">[ subject ]</a>
+ <a href="author.html#507">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Ok, here is all the code in bz_libmap.erl
+
+execute(Req, Env) -&gt;
+ Path = cowboy_req:path(Req),
+ Parts = filename:split(Path),
+
+ case cowboy_req:method(Req) of
+ &lt;&lt;&quot;GET&quot;&gt;&gt; -&gt;
+ % Check for &quot;/music/&quot; requests
+ rewrite( Parts, Req, Env );
+ _Other -&gt;
+ {ok, Req, Env}
+ end.
+
+rewrite( [&lt;&lt;&quot;/&quot;&gt;&gt;, &lt;&lt;&quot;music&quot;&gt;&gt;, LibName | UrlParts], Req, Env ) -&gt;
+ % We want URLs of the form &quot;/music/LIBNAME/everythingelse&quot;
+ % Get library definition. If we do not know that name, then they
+ % are asking for something that does not exist.
+ case bz_db:get_library( LibName ) of
+ [] -&gt;
+ io:format(&quot;No such library '~s'~n&quot;, [LibName] ),
+ {stop, cowboy_req:reply(404, Req)};
+
+ L when is_record(L,library) -&gt;
+ % Replace the library name with the library base.
+ % This will be the head of an absolute file path.
+ LibBase = L#library.base,
+ NewPath = filename:join([LibBase | UrlParts]),
+ NewInfo = filename:split(NewPath),
+ Req2 = cowboy_req:set( [
+ {path_info,[NewPath]},
+ {path, [NewPath]}], Req),
+ {ok, Req2, Env}
+ end;
+rewrite( _AnythingElse, Req, Env ) -&gt;
+ {ok, Req, Env}.
+
+
+
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000506.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000508.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#507">[ date ]</a>
+ <a href="thread.html#507">[ thread ]</a>
+ <a href="subject.html#507">[ subject ]</a>
+ <a href="author.html#507">[ 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/2015-January/000508.html b/archives/extend/2015-January/000508.html
new file mode 100644
index 00000000..225df1f8
--- /dev/null
+++ b/archives/extend/2015-January/000508.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3CCAOdRa2Z-13J_0uGtKYBjXvmiyX0bCnNXbCAxRmkr4RkgyrhDJA%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="000507.html">
+ <LINK REL="Next" HREF="000509.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Paul Dickson</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3CCAOdRa2Z-13J_0uGtKYBjXvmiyX0bCnNXbCAxRmkr4RkgyrhDJA%40mail.gmail.com%3E"
+ TITLE="[99s-extend] Rewriting URLs">pdtwonotes at gmail.com
+ </A><BR>
+ <I>Thu Jan 29 23:23:35 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000507.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000509.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#508">[ date ]</a>
+ <a href="thread.html#508">[ thread ]</a>
+ <a href="subject.html#508">[ subject ]</a>
+ <a href="author.html#508">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>The status 400 is coming from cowboy_rest, when it complains that
+handler cowboy_static lacks the functions 'service_available',
+'known_methods', 'uri_too_long', and 'allowed_methods'. Which indeed
+it does not have.
+
+The only place I mention cowboy_static is in the dispatch rule:
+ {&quot;/music/[...]&quot;, cowboy_static, {dir, &quot;&quot;, [
+ {mimetypes, cow_mimetypes, all}]}},
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000507.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI>Next message: <A HREF="000509.html">[99s-extend] Rewriting URLs
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#508">[ date ]</a>
+ <a href="thread.html#508">[ thread ]</a>
+ <a href="subject.html#508">[ subject ]</a>
+ <a href="author.html#508">[ 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/2015-January/000509.html b/archives/extend/2015-January/000509.html
new file mode 100644
index 00000000..8d1ab69b
--- /dev/null
+++ b/archives/extend/2015-January/000509.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] Rewriting URLs
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54CAB33B.7070606%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="000508.html">
+
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] Rewriting URLs</H1>
+ <B>Lo&#239;c Hoguin</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Rewriting%20URLs&In-Reply-To=%3C54CAB33B.7070606%40ninenines.eu%3E"
+ TITLE="[99s-extend] Rewriting URLs">essen at ninenines.eu
+ </A><BR>
+ <I>Thu Jan 29 23:24:59 CET 2015</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000508.html">[99s-extend] Rewriting URLs
+</A></li>
+
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#509">[ date ]</a>
+ <a href="thread.html#509">[ thread ]</a>
+ <a href="subject.html#509">[ subject ]</a>
+ <a href="author.html#509">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>They are optional callbacks, so I doubt that's it.
+
+On 01/29/2015 11:23 PM, Paul Dickson wrote:
+&gt;<i> The status 400 is coming from cowboy_rest, when it complains that
+</I>&gt;<i> handler cowboy_static lacks the functions 'service_available',
+</I>&gt;<i> 'known_methods', 'uri_too_long', and 'allowed_methods'. Which indeed
+</I>&gt;<i> it does not have.
+</I>&gt;<i>
+</I>&gt;<i> The only place I mention cowboy_static is in the dispatch rule:
+</I>&gt;<i> {&quot;/music/[...]&quot;, cowboy_static, {dir, &quot;&quot;, [
+</I>&gt;<i> {mimetypes, cow_mimetypes, all}]}},
+</I>&gt;<i>
+</I>
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000508.html">[99s-extend] Rewriting URLs
+</A></li>
+
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#509">[ date ]</a>
+ <a href="thread.html#509">[ thread ]</a>
+ <a href="subject.html#509">[ subject ]</a>
+ <a href="author.html#509">[ 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/2015-January/author.html b/archives/extend/2015-January/author.html
new file mode 100644
index 00000000..eb2c5a79
--- /dev/null
+++ b/archives/extend/2015-January/author.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend January 2015 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>January 2015 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>Sat Jan 10 14:55:58 CET 2015</i><br>
+ <b>Ending:</b> <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Messages:</b> 26<p>
+ <ul>
+
+<LI><A HREF="000496.html">[99s-extend] Rewriting URLs
+</A><A NAME="496">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000497.html">[99s-extend] Rewriting URLs
+</A><A NAME="497">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000501.html">[99s-extend] Rewriting URLs
+</A><A NAME="501">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000503.html">[99s-extend] Rewriting URLs
+</A><A NAME="503">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000505.html">[99s-extend] Rewriting URLs
+</A><A NAME="505">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000507.html">[99s-extend] Rewriting URLs
+</A><A NAME="507">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000508.html">[99s-extend] Rewriting URLs
+</A><A NAME="508">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000485.html">[99s-extend] websocket over ssl
+</A><A NAME="485">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000487.html">[99s-extend] websocket over ssl
+</A><A NAME="487">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="492">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="493">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000498.html">[99s-extend] Rewriting URLs
+</A><A NAME="498">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A><A NAME="499">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000502.html">[99s-extend] Rewriting URLs
+</A><A NAME="502">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000504.html">[99s-extend] Rewriting URLs
+</A><A NAME="504">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000506.html">[99s-extend] Rewriting URLs
+</A><A NAME="506">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000509.html">[99s-extend] Rewriting URLs
+</A><A NAME="509">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="491">&nbsp;</A>
+<I>Stefan Strigler
+</I>
+
+<LI><A HREF="000488.html">[99s-extend] websocket over ssl
+</A><A NAME="488">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000484.html">[99s-extend] websocket over ssl
+</A><A NAME="484">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000486.html">[99s-extend] websocket over ssl
+</A><A NAME="486">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000489.html">[99s-extend] websocket over ssl
+</A><A NAME="489">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000490.html">[99s-extend] websocket over ssl
+</A><A NAME="490">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A><A NAME="494">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A><A NAME="495">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A><A NAME="500">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Archived on:</b> <i>Thu Jan 29 23:24:56 CET 2015</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/2015-January/date.html b/archives/extend/2015-January/date.html
new file mode 100644
index 00000000..5cc9dfee
--- /dev/null
+++ b/archives/extend/2015-January/date.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend January 2015 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>January 2015 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>Sat Jan 10 14:55:58 CET 2015</i><br>
+ <b>Ending:</b> <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Messages:</b> 26<p>
+ <ul>
+
+<LI><A HREF="000484.html">[99s-extend] websocket over ssl
+</A><A NAME="484">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000485.html">[99s-extend] websocket over ssl
+</A><A NAME="485">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000486.html">[99s-extend] websocket over ssl
+</A><A NAME="486">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000487.html">[99s-extend] websocket over ssl
+</A><A NAME="487">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000488.html">[99s-extend] websocket over ssl
+</A><A NAME="488">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000489.html">[99s-extend] websocket over ssl
+</A><A NAME="489">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000490.html">[99s-extend] websocket over ssl
+</A><A NAME="490">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="491">&nbsp;</A>
+<I>Stefan Strigler
+</I>
+
+<LI><A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="492">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="493">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A><A NAME="494">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A><A NAME="495">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000496.html">[99s-extend] Rewriting URLs
+</A><A NAME="496">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000497.html">[99s-extend] Rewriting URLs
+</A><A NAME="497">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000498.html">[99s-extend] Rewriting URLs
+</A><A NAME="498">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A><A NAME="499">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A><A NAME="500">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000501.html">[99s-extend] Rewriting URLs
+</A><A NAME="501">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000502.html">[99s-extend] Rewriting URLs
+</A><A NAME="502">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000503.html">[99s-extend] Rewriting URLs
+</A><A NAME="503">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000504.html">[99s-extend] Rewriting URLs
+</A><A NAME="504">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000505.html">[99s-extend] Rewriting URLs
+</A><A NAME="505">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000506.html">[99s-extend] Rewriting URLs
+</A><A NAME="506">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000507.html">[99s-extend] Rewriting URLs
+</A><A NAME="507">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000508.html">[99s-extend] Rewriting URLs
+</A><A NAME="508">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000509.html">[99s-extend] Rewriting URLs
+</A><A NAME="509">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Archived on:</b> <i>Thu Jan 29 23:24:56 CET 2015</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/2015-January/index.html b/archives/extend/2015-January/index.html
new file mode 100644
index 00000000..2cfb9866
--- /dev/null
+++ b/archives/extend/2015-January/index.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend January 2015 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>January 2015 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>Sat Jan 10 14:55:58 CET 2015</i><br>
+ <b>Ending:</b> <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Messages:</b> 26<p>
+ <ul>
+
+<!--0 01420898158.484- -->
+<LI><A HREF="000484.html">[99s-extend] websocket over ssl
+</A><A NAME="484">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<UL>
+<!--1 01420898158.484-01420899664.485- -->
+<LI><A HREF="000485.html">[99s-extend] websocket over ssl
+</A><A NAME="485">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01420898158.484-01420899664.485-01420900132.486- -->
+<LI><A HREF="000486.html">[99s-extend] websocket over ssl
+</A><A NAME="486">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<UL>
+<!--3 01420898158.484-01420899664.485-01420900132.486-01420900481.487- -->
+<LI><A HREF="000487.html">[99s-extend] websocket over ssl
+</A><A NAME="487">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01420898158.484-01420899664.485-01420900132.486-01420900481.487-01420903699.490- -->
+<LI><A HREF="000490.html">[99s-extend] websocket over ssl
+</A><A NAME="490">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+</UL>
+</UL>
+<!--1 01420898158.484-01420900781.488- -->
+<LI><A HREF="000488.html">[99s-extend] websocket over ssl
+</A><A NAME="488">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<UL>
+<!--2 01420898158.484-01420900781.488-01420901183.489- -->
+<LI><A HREF="000489.html">[99s-extend] websocket over ssl
+</A><A NAME="489">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+</UL>
+</UL>
+<!--0 01421253941.491- -->
+<LI><A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="491">&nbsp;</A>
+<I>Stefan Strigler
+</I>
+
+<UL>
+<!--1 01421253941.491-01421257779.492- -->
+<LI><A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="492">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01421253941.491-01421257779.492-01421257821.493- -->
+<LI><A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="493">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+</UL>
+<!--0 01421695920.494- -->
+<LI><A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A><A NAME="494">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<UL>
+<!--1 01421695920.494-01421864920.495- -->
+<LI><A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A><A NAME="495">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<UL>
+<!--2 01421695920.494-01421864920.495-01422268174.499- -->
+<LI><A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A><A NAME="499">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--3 01421695920.494-01421864920.495-01422268174.499-01422282656.500- -->
+<LI><A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A><A NAME="500">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+</UL>
+</UL>
+</UL>
+<!--0 01422225008.496- -->
+<LI><A HREF="000496.html">[99s-extend] Rewriting URLs
+</A><A NAME="496">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<UL>
+<!--1 01422225008.496-01422248989.497- -->
+<LI><A HREF="000497.html">[99s-extend] Rewriting URLs
+</A><A NAME="497">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<UL>
+<!--2 01422225008.496-01422248989.497-01422268002.498- -->
+<LI><A HREF="000498.html">[99s-extend] Rewriting URLs
+</A><A NAME="498">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501- -->
+<LI><A HREF="000501.html">[99s-extend] Rewriting URLs
+</A><A NAME="501">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502- -->
+<LI><A HREF="000502.html">[99s-extend] Rewriting URLs
+</A><A NAME="502">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503- -->
+<LI><A HREF="000503.html">[99s-extend] Rewriting URLs
+</A><A NAME="503">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504- -->
+<LI><A HREF="000504.html">[99s-extend] Rewriting URLs
+</A><A NAME="504">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505- -->
+<LI><A HREF="000505.html">[99s-extend] Rewriting URLs
+</A><A NAME="505">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505-01422365360.506- -->
+<LI><A HREF="000506.html">[99s-extend] Rewriting URLs
+</A><A NAME="506">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505-01422365360.506-01422366254.507- -->
+<LI><A HREF="000507.html">[99s-extend] Rewriting URLs
+</A><A NAME="507">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505-01422365360.506-01422366254.507-01422570215.508- -->
+<LI><A HREF="000508.html">[99s-extend] Rewriting URLs
+</A><A NAME="508">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505-01422365360.506-01422366254.507-01422570215.508-01422570299.509- -->
+<LI><A HREF="000509.html">[99s-extend] Rewriting URLs
+</A><A NAME="509">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+</UL>
+</UL>
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Archived on:</b> <i>Thu Jan 29 23:24:56 CET 2015</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/2015-January/subject.html b/archives/extend/2015-January/subject.html
new file mode 100644
index 00000000..f8a9e2f0
--- /dev/null
+++ b/archives/extend/2015-January/subject.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend January 2015 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>January 2015 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>Sat Jan 10 14:55:58 CET 2015</i><br>
+ <b>Ending:</b> <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Messages:</b> 26<p>
+ <ul>
+
+<LI><A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A><A NAME="494">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A><A NAME="495">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A><A NAME="499">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A><A NAME="500">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="491">&nbsp;</A>
+<I>Stefan Strigler
+</I>
+
+<LI><A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="492">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="493">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000496.html">[99s-extend] Rewriting URLs
+</A><A NAME="496">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000497.html">[99s-extend] Rewriting URLs
+</A><A NAME="497">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000498.html">[99s-extend] Rewriting URLs
+</A><A NAME="498">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000501.html">[99s-extend] Rewriting URLs
+</A><A NAME="501">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000502.html">[99s-extend] Rewriting URLs
+</A><A NAME="502">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000503.html">[99s-extend] Rewriting URLs
+</A><A NAME="503">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000504.html">[99s-extend] Rewriting URLs
+</A><A NAME="504">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000505.html">[99s-extend] Rewriting URLs
+</A><A NAME="505">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000506.html">[99s-extend] Rewriting URLs
+</A><A NAME="506">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000507.html">[99s-extend] Rewriting URLs
+</A><A NAME="507">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000508.html">[99s-extend] Rewriting URLs
+</A><A NAME="508">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<LI><A HREF="000509.html">[99s-extend] Rewriting URLs
+</A><A NAME="509">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000484.html">[99s-extend] websocket over ssl
+</A><A NAME="484">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000485.html">[99s-extend] websocket over ssl
+</A><A NAME="485">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000486.html">[99s-extend] websocket over ssl
+</A><A NAME="486">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000487.html">[99s-extend] websocket over ssl
+</A><A NAME="487">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<LI><A HREF="000488.html">[99s-extend] websocket over ssl
+</A><A NAME="488">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<LI><A HREF="000489.html">[99s-extend] websocket over ssl
+</A><A NAME="489">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<LI><A HREF="000490.html">[99s-extend] websocket over ssl
+</A><A NAME="490">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Archived on:</b> <i>Thu Jan 29 23:24:56 CET 2015</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/2015-January/thread.html b/archives/extend/2015-January/thread.html
new file mode 100644
index 00000000..2cfb9866
--- /dev/null
+++ b/archives/extend/2015-January/thread.html
@@ -0,0 +1,227 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <title>The Extend January 2015 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>January 2015 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>Sat Jan 10 14:55:58 CET 2015</i><br>
+ <b>Ending:</b> <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Messages:</b> 26<p>
+ <ul>
+
+<!--0 01420898158.484- -->
+<LI><A HREF="000484.html">[99s-extend] websocket over ssl
+</A><A NAME="484">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<UL>
+<!--1 01420898158.484-01420899664.485- -->
+<LI><A HREF="000485.html">[99s-extend] websocket over ssl
+</A><A NAME="485">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01420898158.484-01420899664.485-01420900132.486- -->
+<LI><A HREF="000486.html">[99s-extend] websocket over ssl
+</A><A NAME="486">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<UL>
+<!--3 01420898158.484-01420899664.485-01420900132.486-01420900481.487- -->
+<LI><A HREF="000487.html">[99s-extend] websocket over ssl
+</A><A NAME="487">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01420898158.484-01420899664.485-01420900132.486-01420900481.487-01420903699.490- -->
+<LI><A HREF="000490.html">[99s-extend] websocket over ssl
+</A><A NAME="490">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+</UL>
+</UL>
+<!--1 01420898158.484-01420900781.488- -->
+<LI><A HREF="000488.html">[99s-extend] websocket over ssl
+</A><A NAME="488">&nbsp;</A>
+<I>Lee Sylvester
+</I>
+
+<UL>
+<!--2 01420898158.484-01420900781.488-01420901183.489- -->
+<LI><A HREF="000489.html">[99s-extend] websocket over ssl
+</A><A NAME="489">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+</UL>
+</UL>
+<!--0 01421253941.491- -->
+<LI><A HREF="000491.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="491">&nbsp;</A>
+<I>Stefan Strigler
+</I>
+
+<UL>
+<!--1 01421253941.491-01421257779.492- -->
+<LI><A HREF="000492.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="492">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--2 01421253941.491-01421257779.492-01421257821.493- -->
+<LI><A HREF="000493.html">[99s-extend] cowboy and handling exceptions
+</A><A NAME="493">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+</UL>
+<!--0 01421695920.494- -->
+<LI><A HREF="000494.html">[99s-extend] Cowboy + SSL
+</A><A NAME="494">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<UL>
+<!--1 01421695920.494-01421864920.495- -->
+<LI><A HREF="000495.html">[99s-extend] Cowboy + SSL
+</A><A NAME="495">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+<UL>
+<!--2 01421695920.494-01421864920.495-01422268174.499- -->
+<LI><A HREF="000499.html">[99s-extend] Cowboy + SSL
+</A><A NAME="499">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--3 01421695920.494-01421864920.495-01422268174.499-01422282656.500- -->
+<LI><A HREF="000500.html">[99s-extend] Cowboy + SSL
+</A><A NAME="500">&nbsp;</A>
+<I>e at bestmx.net
+</I>
+
+</UL>
+</UL>
+</UL>
+<!--0 01422225008.496- -->
+<LI><A HREF="000496.html">[99s-extend] Rewriting URLs
+</A><A NAME="496">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<UL>
+<!--1 01422225008.496-01422248989.497- -->
+<LI><A HREF="000497.html">[99s-extend] Rewriting URLs
+</A><A NAME="497">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<UL>
+<!--2 01422225008.496-01422248989.497-01422268002.498- -->
+<LI><A HREF="000498.html">[99s-extend] Rewriting URLs
+</A><A NAME="498">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<UL>
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501- -->
+<LI><A HREF="000501.html">[99s-extend] Rewriting URLs
+</A><A NAME="501">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502- -->
+<LI><A HREF="000502.html">[99s-extend] Rewriting URLs
+</A><A NAME="502">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503- -->
+<LI><A HREF="000503.html">[99s-extend] Rewriting URLs
+</A><A NAME="503">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504- -->
+<LI><A HREF="000504.html">[99s-extend] Rewriting URLs
+</A><A NAME="504">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505- -->
+<LI><A HREF="000505.html">[99s-extend] Rewriting URLs
+</A><A NAME="505">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505-01422365360.506- -->
+<LI><A HREF="000506.html">[99s-extend] Rewriting URLs
+</A><A NAME="506">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505-01422365360.506-01422366254.507- -->
+<LI><A HREF="000507.html">[99s-extend] Rewriting URLs
+</A><A NAME="507">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505-01422365360.506-01422366254.507-01422570215.508- -->
+<LI><A HREF="000508.html">[99s-extend] Rewriting URLs
+</A><A NAME="508">&nbsp;</A>
+<I>Paul Dickson
+</I>
+
+<!--3 01422225008.496-01422248989.497-01422268002.498-01422309249.501-01422353621.502-01422364068.503-01422364258.504-01422365070.505-01422365360.506-01422366254.507-01422570215.508-01422570299.509- -->
+<LI><A HREF="000509.html">[99s-extend] Rewriting URLs
+</A><A NAME="509">&nbsp;</A>
+<I>Lo&#239;c Hoguin
+</I>
+
+</UL>
+</UL>
+</UL>
+ </ul>
+ <p>
+ <a name="end"><b>Last message date:</b></a>
+ <i>Thu Jan 29 23:24:59 CET 2015</i><br>
+ <b>Archived on:</b> <i>Thu Jan 29 23:24:56 CET 2015</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>
+