diff options
author | Loïc Hoguin <[email protected]> | 2016-08-29 12:39:49 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2016-08-29 12:40:03 +0200 |
commit | c807880f7ac73f813b2660ea81a00f7712a4e793 (patch) | |
tree | ba1d09e9b177f230665a80513b33fbd532000ce4 /archives/extend/2013-October | |
parent | b1df25a7d9cda697513650659b781b55b40898f8 (diff) | |
download | ninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.tar.gz ninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.tar.bz2 ninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.zip |
Add old mailing list archives
Diffstat (limited to 'archives/extend/2013-October')
44 files changed, 5993 insertions, 0 deletions
diff --git a/archives/extend/2013-October/000255.html b/archives/extend/2013-October/000255.html new file mode 100644 index 00000000..4cc731e8 --- /dev/null +++ b/archives/extend/2013-October/000255.html @@ -0,0 +1,69 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] websocket_info and RPC + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket_info%20and%20RPC&In-Reply-To=%3CCAFXVr%3DZuQNiChQGFHVcS4jGOHXG5NEazbZcP8qp5E91smJEN1A%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="Next" HREF="000256.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] websocket_info and RPC</H1> + <B>Marcel Meyer</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20websocket_info%20and%20RPC&In-Reply-To=%3CCAFXVr%3DZuQNiChQGFHVcS4jGOHXG5NEazbZcP8qp5E91smJEN1A%40mail.gmail.com%3E" + TITLE="[99s-extend] websocket_info and RPC">marcel.meyer at gmail.com + </A><BR> + <I>Thu Oct 3 07:00:28 CEST 2013</I> + <P><UL> + + <LI>Next message: <A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#255">[ date ]</a> + <a href="thread.html#255">[ thread ]</a> + <a href="subject.html#255">[ subject ]</a> + <a href="author.html#255">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hi there, + +How do I use the websocket infrastructure of cowboy to implement RPC? +It seems like I can talk to the client using websocket_info, but the +response comes in on websocket_handle, all asynchronously. + +Kind regards, +Marcel +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131002/4463e3fa/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131002/4463e3fa/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + + <LI>Next message: <A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#255">[ date ]</a> + <a href="thread.html#255">[ thread ]</a> + <a href="subject.html#255">[ subject ]</a> + <a href="author.html#255">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000256.html b/archives/extend/2013-October/000256.html new file mode 100644 index 00000000..0425c86e --- /dev/null +++ b/archives/extend/2013-October/000256.html @@ -0,0 +1,82 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Problem with cowboy ssl example + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Problem%20with%20cowboy%20ssl%20example&In-Reply-To=%3CCAChGYf-ykW7HRb6Hoy6h1NHxmUrbfZ%2BNBsubvrW-pMieFhESkg%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="000255.html"> + <LINK REL="Next" HREF="000257.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Problem with cowboy ssl example</H1> + <B>Ryan Brown</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Problem%20with%20cowboy%20ssl%20example&In-Reply-To=%3CCAChGYf-ykW7HRb6Hoy6h1NHxmUrbfZ%2BNBsubvrW-pMieFhESkg%40mail.gmail.com%3E" + TITLE="[99s-extend] Problem with cowboy ssl example">ryankbrown at gmail.com + </A><BR> + <I>Tue Oct 8 05:55:57 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000255.html">[99s-extend] websocket_info and RPC +</A></li> + <LI>Next message: <A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#256">[ date ]</a> + <a href="thread.html#256">[ thread ]</a> + <a href="subject.html#256">[ subject ]</a> + <a href="author.html#256">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>I was trying to compile and run the ssl_hello_world example in the cowboy +project and am getting the following error at start-up: + +=INFO REPORT==== 7-Oct-2013::21:38:01 === application: ssl_hello_world + exited: {bad_return, {{ssl_hello_world_app,start,[normal,[]]}, + {'EXIT', {{badmatch, {error, + {{shutdown, +{failed_to_start_child,ranch_acceptors_sup, + {{case_clause, {error,{"no such file or +directory","asn1.app"}}}, +[{ranch,require,1,[{file,"src/ranch.erl"},{line,207}]}, + +I can start asn1 from the erl console so I am not sure what I am missing. +Any help is greatly appreciated. + +Best regards. + +-- +-rb +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131007/fdef2170/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131007/fdef2170/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000255.html">[99s-extend] websocket_info and RPC +</A></li> + <LI>Next message: <A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#256">[ date ]</a> + <a href="thread.html#256">[ thread ]</a> + <a href="subject.html#256">[ subject ]</a> + <a href="author.html#256">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000257.html b/archives/extend/2013-October/000257.html new file mode 100644 index 00000000..ceba1eaa --- /dev/null +++ b/archives/extend/2013-October/000257.html @@ -0,0 +1,129 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Problem with cowboy ssl example + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Problem%20with%20cowboy%20ssl%20example&In-Reply-To=%3C52538650.6030804%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="000256.html"> + <LINK REL="Next" HREF="000258.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Problem with cowboy ssl example</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Problem%20with%20cowboy%20ssl%20example&In-Reply-To=%3C52538650.6030804%40ninenines.eu%3E" + TITLE="[99s-extend] Problem with cowboy ssl example">essen at ninenines.eu + </A><BR> + <I>Tue Oct 8 06:13:04 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI>Next message: <A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#257">[ date ]</a> + <a href="thread.html#257">[ thread ]</a> + <a href="subject.html#257">[ subject ]</a> + <a href="author.html#257">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>I'm guessing you run an older Erlang which had that issue. Either +upgrade Erlang or add asn1 to the list of apps to include in the release +(and open a ticket for it please so it can be made to work with older +versions). + +On 10/08/2013 05:55 AM, Ryan Brown wrote: +><i> I was trying to compile and run the ssl_hello_world example in the +</I>><i> cowboy project and am getting the following error at start-up: +</I>><i> +</I>><i> +</I>><i> =INFO REPORT==== 7-Oct-2013::21:38:01 === +</I>><i> +</I>><i> +</I>><i> application: ssl_hello_world +</I>><i> +</I>><i> +</I>><i> exited: {bad_return, +</I>><i> +</I>><i> +</I>><i> {{ssl_hello_world_app,start,[normal,[]]}, +</I>><i> +</I>><i> +</I>><i> {'EXIT', +</I>><i> +</I>><i> +</I>><i> {{badmatch, +</I>><i> +</I>><i> +</I>><i> {error, +</I>><i> +</I>><i> +</I>><i> {{shutdown, +</I>><i> +</I>><i> +</I>><i> {failed_to_start_child,ranch_acceptors_sup, +</I>><i> +</I>><i> +</I>><i> {{case_clause, +</I>><i> +</I>><i> +</I>><i> {error,{"no such file or directory","asn1.app"}}}, +</I>><i> +</I>><i> +</I>><i> +</I>><i> [{ranch,require,1,[{file,"src/ranch.erl"},{line,207}]}, +</I>><i> +</I>><i> +</I>><i> I can start asn1 from the erl console so I am not sure what I am +</I>><i> missing. Any help is greatly appreciated. +</I>><i> +</I>><i> Best regards. +</I>><i> +</I>><i> -- +</I>><i> -rb +</I>><i> +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI>Next message: <A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#257">[ date ]</a> + <a href="thread.html#257">[ thread ]</a> + <a href="subject.html#257">[ subject ]</a> + <a href="author.html#257">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000258.html b/archives/extend/2013-October/000258.html new file mode 100644 index 00000000..19f86aba --- /dev/null +++ b/archives/extend/2013-October/000258.html @@ -0,0 +1,149 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Problem with cowboy ssl example + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Problem%20with%20cowboy%20ssl%20example&In-Reply-To=%3CCAChGYf-krBbQYAkxMuGt-byPV6PSC-50yrOgBMqUJrQBUZeKcA%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="000257.html"> + <LINK REL="Next" HREF="000259.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Problem with cowboy ssl example</H1> + <B>Ryan Brown</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Problem%20with%20cowboy%20ssl%20example&In-Reply-To=%3CCAChGYf-krBbQYAkxMuGt-byPV6PSC-50yrOgBMqUJrQBUZeKcA%40mail.gmail.com%3E" + TITLE="[99s-extend] Problem with cowboy ssl example">ryankbrown at gmail.com + </A><BR> + <I>Tue Oct 8 06:24:54 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI>Next message: <A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#258">[ date ]</a> + <a href="thread.html#258">[ thread ]</a> + <a href="subject.html#258">[ subject ]</a> + <a href="author.html#258">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Thanks Loïc. I am actually running R16B on a macbook OS X 10.8. (I'm +wondering if the Od could have any effect?) + +Best, + +Ryan + + +On Mon, Oct 7, 2013 at 10:13 PM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: + +><i> I'm guessing you run an older Erlang which had that issue. Either upgrade +</I>><i> Erlang or add asn1 to the list of apps to include in the release (and open +</I>><i> a ticket for it please so it can be made to work with older versions). +</I>><i> +</I>><i> +</I>><i> On 10/08/2013 05:55 AM, Ryan Brown wrote: +</I>><i> +</I>>><i> I was trying to compile and run the ssl_hello_world example in the +</I>>><i> cowboy project and am getting the following error at start-up: +</I>>><i> +</I>>><i> +</I>>><i> =INFO REPORT==== 7-Oct-2013::21:38:01 === +</I>>><i> +</I>>><i> +</I>>><i> application: ssl_hello_world +</I>>><i> +</I>>><i> +</I>>><i> exited: {bad_return, +</I>>><i> +</I>>><i> +</I>>><i> {{ssl_hello_world_app,start,[**normal,[]]}, +</I>>><i> +</I>>><i> +</I>>><i> {'EXIT', +</I>>><i> +</I>>><i> +</I>>><i> {{badmatch, +</I>>><i> +</I>>><i> +</I>>><i> {error, +</I>>><i> +</I>>><i> +</I>>><i> {{shutdown, +</I>>><i> +</I>>><i> +</I>>><i> {failed_to_start_child,ranch_**acceptors_sup, +</I>>><i> +</I>>><i> +</I>>><i> {{case_clause, +</I>>><i> +</I>>><i> +</I>>><i> {error,{"no such file or +</I>>><i> directory","asn1.app"}}}, +</I>>><i> +</I>>><i> +</I>>><i> +</I>>><i> [{ranch,require,1,[{file,"src/**ranch.erl"},{line,207}]}, +</I>>><i> +</I>>><i> +</I>>><i> I can start asn1 from the erl console so I am not sure what I am +</I>>><i> missing. Any help is greatly appreciated. +</I>>><i> +</I>>><i> Best regards. +</I>>><i> +</I>>><i> -- +</I>>><i> -rb +</I>>><i> +</I>>><i> +</I>>><i> ______________________________**_________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>><i> <A HREF="http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend</A>> +</I>>><i> +</I>>><i> +</I>><i> +</I>><i> -- +</I>><i> Loďc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I> + + +-- +-rb +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131007/863e7358/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131007/863e7358/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI>Next message: <A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#258">[ date ]</a> + <a href="thread.html#258">[ thread ]</a> + <a href="subject.html#258">[ subject ]</a> + <a href="author.html#258">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000259.html b/archives/extend/2013-October/000259.html new file mode 100644 index 00000000..2b966a2a --- /dev/null +++ b/archives/extend/2013-October/000259.html @@ -0,0 +1,165 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Problem with cowboy ssl example + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Problem%20with%20cowboy%20ssl%20example&In-Reply-To=%3CCAChGYf95Zp7gwj3dxtcw1vU-9wWce6PwA2Z2KJjCPU3jan43eA%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="000258.html"> + <LINK REL="Next" HREF="000260.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Problem with cowboy ssl example</H1> + <B>Ryan Brown</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Problem%20with%20cowboy%20ssl%20example&In-Reply-To=%3CCAChGYf95Zp7gwj3dxtcw1vU-9wWce6PwA2Z2KJjCPU3jan43eA%40mail.gmail.com%3E" + TITLE="[99s-extend] Problem with cowboy ssl example">ryankbrown at gmail.com + </A><BR> + <I>Tue Oct 8 17:33:36 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI>Next message: <A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#259">[ date ]</a> + <a href="thread.html#259">[ thread ]</a> + <a href="subject.html#259">[ subject ]</a> + <a href="author.html#259">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Just to complete the loop. As would be expected, adding asn1 to the app.src +applications fixes the issue. + +Thank you, + +Ryan + + +On Mon, Oct 7, 2013 at 10:24 PM, Ryan Brown <<A HREF="https://lists.ninenines.eu/listinfo/extend">ryankbrown at gmail.com</A>> wrote: + +><i> Thanks Loïc. I am actually running R16B on a macbook OS X 10.8. (I'm +</I>><i> wondering if the Od could have any effect?) +</I>><i> +</I>><i> Best, +</I>><i> +</I>><i> Ryan +</I>><i> +</I>><i> +</I>><i> On Mon, Oct 7, 2013 at 10:13 PM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>><i> +</I>>><i> I'm guessing you run an older Erlang which had that issue. Either upgrade +</I>>><i> Erlang or add asn1 to the list of apps to include in the release (and open +</I>>><i> a ticket for it please so it can be made to work with older versions). +</I>>><i> +</I>>><i> +</I>>><i> On 10/08/2013 05:55 AM, Ryan Brown wrote: +</I>>><i> +</I>>>><i> I was trying to compile and run the ssl_hello_world example in the +</I>>>><i> cowboy project and am getting the following error at start-up: +</I>>>><i> +</I>>>><i> +</I>>>><i> =INFO REPORT==== 7-Oct-2013::21:38:01 === +</I>>>><i> +</I>>>><i> +</I>>>><i> application: ssl_hello_world +</I>>>><i> +</I>>>><i> +</I>>>><i> exited: {bad_return, +</I>>>><i> +</I>>>><i> +</I>>>><i> {{ssl_hello_world_app,start,[**normal,[]]}, +</I>>>><i> +</I>>>><i> +</I>>>><i> {'EXIT', +</I>>>><i> +</I>>>><i> +</I>>>><i> {{badmatch, +</I>>>><i> +</I>>>><i> +</I>>>><i> {error, +</I>>>><i> +</I>>>><i> +</I>>>><i> {{shutdown, +</I>>>><i> +</I>>>><i> +</I>>>><i> {failed_to_start_child,ranch_**acceptors_sup, +</I>>>><i> +</I>>>><i> +</I>>>><i> {{case_clause, +</I>>>><i> +</I>>>><i> +</I>>>><i> {error,{"no such file or +</I>>>><i> directory","asn1.app"}}}, +</I>>>><i> +</I>>>><i> +</I>>>><i> +</I>>>><i> [{ranch,require,1,[{file,"src/**ranch.erl"},{line,207}]}, +</I>>>><i> +</I>>>><i> +</I>>>><i> I can start asn1 from the erl console so I am not sure what I am +</I>>>><i> missing. Any help is greatly appreciated. +</I>>>><i> +</I>>>><i> Best regards. +</I>>>><i> +</I>>>><i> -- +</I>>>><i> -rb +</I>>>><i> +</I>>>><i> +</I>>>><i> ______________________________**_________________ +</I>>>><i> Extend mailing list +</I>>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>>><i> <A HREF="http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend</A>> +</I>>>><i> +</I>>>><i> +</I>>><i> +</I>>><i> -- +</I>>><i> Loďc Hoguin +</I>>><i> Erlang Cowboy +</I>>><i> Nine Nines +</I>>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>>><i> +</I>><i> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> -rb +</I>><i> +</I> + + +-- +-rb +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131008/8752fdd7/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131008/8752fdd7/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI>Next message: <A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#259">[ date ]</a> + <a href="thread.html#259">[ thread ]</a> + <a href="subject.html#259">[ subject ]</a> + <a href="author.html#259">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000260.html b/archives/extend/2013-October/000260.html new file mode 100644 index 00000000..9b301502 --- /dev/null +++ b/archives/extend/2013-October/000260.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Cowboy Calling Hostname + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3CA5839EE5-6B6C-4E92-A7C4-E5D705A1362C%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="000259.html"> + <LINK REL="Next" HREF="000261.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Cowboy Calling Hostname</H1> + <B>Lee Sylvester</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3CA5839EE5-6B6C-4E92-A7C4-E5D705A1362C%40gmail.com%3E" + TITLE="[99s-extend] Cowboy Calling Hostname">lee.sylvester at gmail.com + </A><BR> + <I>Wed Oct 9 15:27:25 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI>Next message: <A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#260">[ date ]</a> + <a href="thread.html#260">[ thread ]</a> + <a href="subject.html#260">[ subject ]</a> + <a href="author.html#260">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hi, + +When receiving a Cowboy request, is there a way to find out which hostname the user made the request from? I'm using CORS in my REST and Bullet app, where each call can be made through a given account. However, I'd like to be able to lock requests for each account to a designated hostname to protect that users account usage. + +Thanks, +Lee + + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A></li> + <LI>Next message: <A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#260">[ date ]</a> + <a href="thread.html#260">[ thread ]</a> + <a href="subject.html#260">[ subject ]</a> + <a href="author.html#260">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000261.html b/archives/extend/2013-October/000261.html new file mode 100644 index 00000000..50e3e58e --- /dev/null +++ b/archives/extend/2013-October/000261.html @@ -0,0 +1,87 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Cowboy Calling Hostname + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3C52555A98.8090901%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="000260.html"> + <LINK REL="Next" HREF="000262.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Cowboy Calling Hostname</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3C52555A98.8090901%40ninenines.eu%3E" + TITLE="[99s-extend] Cowboy Calling Hostname">essen at ninenines.eu + </A><BR> + <I>Wed Oct 9 15:31:04 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#261">[ date ]</a> + <a href="thread.html#261">[ thread ]</a> + <a href="subject.html#261">[ subject ]</a> + <a href="author.html#261">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>cowboy_req:host/1? + +Please use the nice manual we have now. + + <A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req</A> + +On 10/09/2013 03:27 PM, Lee Sylvester wrote: +><i> Hi, +</I>><i> +</I>><i> When receiving a Cowboy request, is there a way to find out which hostname the user made the request from? I'm using CORS in my REST and Bullet app, where each call can be made through a given account. However, I'd like to be able to lock requests for each account to a designated hostname to protect that users account usage. +</I>><i> +</I>><i> Thanks, +</I>><i> Lee +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#261">[ date ]</a> + <a href="thread.html#261">[ thread ]</a> + <a href="subject.html#261">[ subject ]</a> + <a href="author.html#261">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000262.html b/archives/extend/2013-October/000262.html new file mode 100644 index 00000000..1484f57d --- /dev/null +++ b/archives/extend/2013-October/000262.html @@ -0,0 +1,95 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Cowboy Calling Hostname + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3C6B317ED7-A80B-4866-A347-CA9FE489D522%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="000261.html"> + <LINK REL="Next" HREF="000263.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Cowboy Calling Hostname</H1> + <B>Lee Sylvester</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3C6B317ED7-A80B-4866-A347-CA9FE489D522%40gmail.com%3E" + TITLE="[99s-extend] Cowboy Calling Hostname">lee.sylvester at gmail.com + </A><BR> + <I>Wed Oct 9 17:30:21 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#262">[ date ]</a> + <a href="thread.html#262">[ thread ]</a> + <a href="subject.html#262">[ subject ]</a> + <a href="author.html#262">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Thank you. I couldn't work out if that's the host being called from or the host name in the request. For example, a store called things.com makes a request to my service on widgets.net. I need to see that the request is made FROM things.com for validation purposes. Is it correct that host will provide this? + +Thanks, +Lee + +Sent from my iPhone + +><i> On Oct 9, 2013, at 2:31 PM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>><i> +</I>><i> cowboy_req:host/1? +</I>><i> +</I>><i> Please use the nice manual we have now. +</I>><i> +</I>><i> <A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req</A> +</I>><i> +</I>>><i> On 10/09/2013 03:27 PM, Lee Sylvester wrote: +</I>>><i> Hi, +</I>>><i> +</I>>><i> When receiving a Cowboy request, is there a way to find out which hostname the user made the request from? I'm using CORS in my REST and Bullet app, where each call can be made through a given account. However, I'd like to be able to lock requests for each account to a designated hostname to protect that users account usage. +</I>>><i> +</I>>><i> Thanks, +</I>>><i> Lee +</I>>><i> +</I>>><i> _______________________________________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> Loïc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#262">[ date ]</a> + <a href="thread.html#262">[ thread ]</a> + <a href="subject.html#262">[ subject ]</a> + <a href="author.html#262">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000263.html b/archives/extend/2013-October/000263.html new file mode 100644 index 00000000..d4e0dd90 --- /dev/null +++ b/archives/extend/2013-October/000263.html @@ -0,0 +1,108 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Cowboy Calling Hostname + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3C52557726.2060908%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="000262.html"> + <LINK REL="Next" HREF="000264.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Cowboy Calling Hostname</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3C52557726.2060908%40ninenines.eu%3E" + TITLE="[99s-extend] Cowboy Calling Hostname">essen at ninenines.eu + </A><BR> + <I>Wed Oct 9 17:32:54 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#263">[ date ]</a> + <a href="thread.html#263">[ thread ]</a> + <a href="subject.html#263">[ subject ]</a> + <a href="author.html#263">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>In short: you can't. + +Browsers may send origin/referer/.. headers depending on the type of +request, but you can't rely on them to be real or even just there. + +On 10/09/2013 05:30 PM, Lee Sylvester wrote: +><i> Thank you. I couldn't work out if that's the host being called from or the host name in the request. For example, a store called things.com makes a request to my service on widgets.net. I need to see that the request is made FROM things.com for validation purposes. Is it correct that host will provide this? +</I>><i> +</I>><i> Thanks, +</I>><i> Lee +</I>><i> +</I>><i> Sent from my iPhone +</I>><i> +</I>>><i> On Oct 9, 2013, at 2:31 PM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>>><i> +</I>>><i> cowboy_req:host/1? +</I>>><i> +</I>>><i> Please use the nice manual we have now. +</I>>><i> +</I>>><i> <A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req</A> +</I>>><i> +</I>>>><i> On 10/09/2013 03:27 PM, Lee Sylvester wrote: +</I>>>><i> Hi, +</I>>>><i> +</I>>>><i> When receiving a Cowboy request, is there a way to find out which hostname the user made the request from? I'm using CORS in my REST and Bullet app, where each call can be made through a given account. However, I'd like to be able to lock requests for each account to a designated hostname to protect that users account usage. +</I>>>><i> +</I>>>><i> Thanks, +</I>>>><i> Lee +</I>>>><i> +</I>>>><i> _______________________________________________ +</I>>>><i> Extend mailing list +</I>>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>>><i> +</I>>><i> +</I>>><i> -- +</I>>><i> Loïc Hoguin +</I>>><i> Erlang Cowboy +</I>>><i> Nine Nines +</I>>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#263">[ date ]</a> + <a href="thread.html#263">[ thread ]</a> + <a href="subject.html#263">[ subject ]</a> + <a href="author.html#263">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000264.html b/archives/extend/2013-October/000264.html new file mode 100644 index 00000000..7b28dcfe --- /dev/null +++ b/archives/extend/2013-October/000264.html @@ -0,0 +1,134 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Cowboy Calling Hostname + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3CCALvUveMuMZabtizGQDURJs7x62RjZNr%3DNukQLF49MDtZBiPF6A%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="000263.html"> + <LINK REL="Next" HREF="000265.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Cowboy Calling Hostname</H1> + <B>Nathan Michaels</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3CCALvUveMuMZabtizGQDURJs7x62RjZNr%3DNukQLF49MDtZBiPF6A%40mail.gmail.com%3E" + TITLE="[99s-extend] Cowboy Calling Hostname">nathan at nmichaels.org + </A><BR> + <I>Wed Oct 9 17:51:14 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#264">[ date ]</a> + <a href="thread.html#264">[ thread ]</a> + <a href="subject.html#264">[ subject ]</a> + <a href="author.html#264">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Is the client making the request to your service on widgets.net because +things.com sent them there, or is things.com making the request directly on +behalf of the client? The first is what Loïc is talking about. The second +is the source IP of the request, which you can definitely get. + + +On Wed, Oct 9, 2013 at 11:32 AM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: + +><i> In short: you can't. +</I>><i> +</I>><i> Browsers may send origin/referer/.. headers depending on the type of +</I>><i> request, but you can't rely on them to be real or even just there. +</I>><i> +</I>><i> +</I>><i> On 10/09/2013 05:30 PM, Lee Sylvester wrote: +</I>><i> +</I>>><i> Thank you. I couldn't work out if that's the host being called from or +</I>>><i> the host name in the request. For example, a store called things.commakes a request to my service on +</I>>><i> widgets.net. I need to see that the request is made FROM things.com for +</I>>><i> validation purposes. Is it correct that host will provide this? +</I>>><i> +</I>>><i> Thanks, +</I>>><i> Lee +</I>>><i> +</I>>><i> Sent from my iPhone +</I>>><i> +</I>>><i> On Oct 9, 2013, at 2:31 PM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>>>><i> +</I>>>><i> cowboy_req:host/1? +</I>>>><i> +</I>>>><i> Please use the nice manual we have now. +</I>>>><i> +</I>>>><i> <A HREF="http://ninenines.eu/docs/en/**cowboy/HEAD/manual/cowboy_req<http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req">http://ninenines.eu/docs/en/**cowboy/HEAD/manual/cowboy_req<http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req</A>> +</I>>>><i> +</I>>>><i> On 10/09/2013 03:27 PM, Lee Sylvester wrote: +</I>>>>><i> Hi, +</I>>>>><i> +</I>>>>><i> When receiving a Cowboy request, is there a way to find out which +</I>>>>><i> hostname the user made the request from? I'm using CORS in my REST and +</I>>>>><i> Bullet app, where each call can be made through a given account. However, +</I>>>>><i> I'd like to be able to lock requests for each account to a designated +</I>>>>><i> hostname to protect that users account usage. +</I>>>>><i> +</I>>>>><i> Thanks, +</I>>>>><i> Lee +</I>>>>><i> +</I>>>>><i> ______________________________**_________________ +</I>>>>><i> Extend mailing list +</I>>>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>>>><i> <A HREF="http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend</A>> +</I>>>>><i> +</I>>>><i> +</I>>>><i> +</I>>>><i> -- +</I>>>><i> Loïc Hoguin +</I>>>><i> Erlang Cowboy +</I>>>><i> Nine Nines +</I>>>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>>>><i> +</I>>><i> +</I>><i> +</I>><i> -- +</I>><i> Loïc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> ______________________________**_________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend</A>> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131009/cc05d6f5/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131009/cc05d6f5/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#264">[ date ]</a> + <a href="thread.html#264">[ thread ]</a> + <a href="subject.html#264">[ subject ]</a> + <a href="author.html#264">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000265.html b/archives/extend/2013-October/000265.html new file mode 100644 index 00000000..173b2a44 --- /dev/null +++ b/archives/extend/2013-October/000265.html @@ -0,0 +1,132 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Cowboy Calling Hostname + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3CA93F7716-AA8E-453D-B773-AB7A7409D154%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="000264.html"> + <LINK REL="Next" HREF="000266.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Cowboy Calling Hostname</H1> + <B>Lee Sylvester</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3CA93F7716-AA8E-453D-B773-AB7A7409D154%40gmail.com%3E" + TITLE="[99s-extend] Cowboy Calling Hostname">lee.sylvester at gmail.com + </A><BR> + <I>Wed Oct 9 19:28:40 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#265">[ date ]</a> + <a href="thread.html#265">[ thread ]</a> + <a href="subject.html#265">[ subject ]</a> + <a href="author.html#265">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Essentially, the REST service endpoint would be on widgets.net while the clients website, in this case things.com, has a JavaScript that makes an AJAX call to widgets.net. The account on widgets.net for things.com will have the things.com domain registered to its account, so that widgets.net can check to see if the request is coming from an expected domain. + +Thanks, +Lee + + +On 9 Oct 2013, at 16:51, Nathan Michaels <<A HREF="https://lists.ninenines.eu/listinfo/extend">nathan at nmichaels.org</A>> wrote: + +><i> Is the client making the request to your service on widgets.net because things.com sent them there, or is things.com making the request directly on behalf of the client? The first is what Loïc is talking about. The second is the source IP of the request, which you can definitely get. +</I>><i> +</I>><i> +</I>><i> On Wed, Oct 9, 2013 at 11:32 AM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>><i> In short: you can't. +</I>><i> +</I>><i> Browsers may send origin/referer/.. headers depending on the type of request, but you can't rely on them to be real or even just there. +</I>><i> +</I>><i> +</I>><i> On 10/09/2013 05:30 PM, Lee Sylvester wrote: +</I>><i> Thank you. I couldn't work out if that's the host being called from or the host name in the request. For example, a store called things.com makes a request to my service on widgets.net. I need to see that the request is made FROM things.com for validation purposes. Is it correct that host will provide this? +</I>><i> +</I>><i> Thanks, +</I>><i> Lee +</I>><i> +</I>><i> Sent from my iPhone +</I>><i> +</I>><i> On Oct 9, 2013, at 2:31 PM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>><i> +</I>><i> cowboy_req:host/1? +</I>><i> +</I>><i> Please use the nice manual we have now. +</I>><i> +</I>><i> <A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req</A> +</I>><i> +</I>><i> On 10/09/2013 03:27 PM, Lee Sylvester wrote: +</I>><i> Hi, +</I>><i> +</I>><i> When receiving a Cowboy request, is there a way to find out which hostname the user made the request from? I'm using CORS in my REST and Bullet app, where each call can be made through a given account. However, I'd like to be able to lock requests for each account to a designated hostname to protect that users account usage. +</I>><i> +</I>><i> Thanks, +</I>><i> Lee +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> Loïc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> Loïc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I> +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131009/7c03cefc/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131009/7c03cefc/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#265">[ date ]</a> + <a href="thread.html#265">[ thread ]</a> + <a href="subject.html#265">[ subject ]</a> + <a href="author.html#265">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000266.html b/archives/extend/2013-October/000266.html new file mode 100644 index 00000000..32c5a245 --- /dev/null +++ b/archives/extend/2013-October/000266.html @@ -0,0 +1,189 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Cowboy Calling Hostname + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3CCAMD5n_3RJT3Nd0p4cbgCtR1XavDXSY6kaWTbwiLwqH_bF74KOw%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="000265.html"> + <LINK REL="Next" HREF="000267.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Cowboy Calling Hostname</H1> + <B>Daniel White</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3CCAMD5n_3RJT3Nd0p4cbgCtR1XavDXSY6kaWTbwiLwqH_bF74KOw%40mail.gmail.com%3E" + TITLE="[99s-extend] Cowboy Calling Hostname">daniel at whitehouse.id.au + </A><BR> + <I>Thu Oct 10 01:03:08 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#266">[ date ]</a> + <a href="thread.html#266">[ thread ]</a> + <a href="subject.html#266">[ subject ]</a> + <a href="author.html#266">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Depending on your requirements, there is a high likelihood that you +need to support pre-flight requests. Especially if you're intending +on providing credentials in the requests. Many of the interesting +headers are not simple headers (for CORS) and require a handshake +first between browser and server to ensure the headers in question are +allowed to be sent. + +This obviously limits the amount of information you can determine +about the caller. One alternative here, is the use of OAuth2 with the +'access_token' query parameter. This can be sent along with the +pre-flight request. + +On the other hand, some providers (Github, IIRC) will simply validate +a CORS request by comparing the 'Origin' against their entire list of +registered origins. This opens up some opportunity for abuse by other +clients in the system, but can be further mitigated by enforcing the +'Origin' more strictly at the authorization step of the request. + +As an aside, I have a cowboy middleware project to do the heavy +lifting for CORS at <A HREF="https://github.com/danielwhite/cowboy_cors.">https://github.com/danielwhite/cowboy_cors.</A> +Business policies can be implemented by means of a callback module. + +Cheers, + + +On Thu, Oct 10, 2013 at 4:28 AM, Lee Sylvester <<A HREF="https://lists.ninenines.eu/listinfo/extend">lee.sylvester at gmail.com</A>> wrote: +><i> Essentially, the REST service endpoint would be on widgets.net while the +</I>><i> clients website, in this case things.com, has a JavaScript that makes an +</I>><i> AJAX call to widgets.net. The account on widgets.net for things.com will +</I>><i> have the things.com domain registered to its account, so that widgets.net +</I>><i> can check to see if the request is coming from an expected domain. +</I>><i> +</I>><i> Thanks, +</I>><i> Lee +</I>><i> +</I>><i> +</I>><i> On 9 Oct 2013, at 16:51, Nathan Michaels <<A HREF="https://lists.ninenines.eu/listinfo/extend">nathan at nmichaels.org</A>> wrote: +</I>><i> +</I>><i> Is the client making the request to your service on widgets.net because +</I>><i> things.com sent them there, or is things.com making the request directly on +</I>><i> behalf of the client? The first is what Loïc is talking about. The second is +</I>><i> the source IP of the request, which you can definitely get. +</I>><i> +</I>><i> +</I>><i> On Wed, Oct 9, 2013 at 11:32 AM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>>><i> +</I>>><i> In short: you can't. +</I>>><i> +</I>>><i> Browsers may send origin/referer/.. headers depending on the type of +</I>>><i> request, but you can't rely on them to be real or even just there. +</I>>><i> +</I>>><i> +</I>>><i> On 10/09/2013 05:30 PM, Lee Sylvester wrote: +</I>>>><i> +</I>>>><i> Thank you. I couldn't work out if that's the host being called from or +</I>>>><i> the host name in the request. For example, a store called things.com makes +</I>>>><i> a request to my service on widgets.net. I need to see that the request is +</I>>>><i> made FROM things.com for validation purposes. Is it correct that host will +</I>>>><i> provide this? +</I>>>><i> +</I>>>><i> Thanks, +</I>>>><i> Lee +</I>>>><i> +</I>>>><i> Sent from my iPhone +</I>>>><i> +</I>>>>><i> On Oct 9, 2013, at 2:31 PM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>>>>><i> +</I>>>>><i> cowboy_req:host/1? +</I>>>>><i> +</I>>>>><i> Please use the nice manual we have now. +</I>>>>><i> +</I>>>>><i> <A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req</A> +</I>>>>><i> +</I>>>>>><i> On 10/09/2013 03:27 PM, Lee Sylvester wrote: +</I>>>>>><i> Hi, +</I>>>>>><i> +</I>>>>>><i> When receiving a Cowboy request, is there a way to find out which +</I>>>>>><i> hostname the user made the request from? I'm using CORS in my REST and +</I>>>>>><i> Bullet app, where each call can be made through a given account. However, +</I>>>>>><i> I'd like to be able to lock requests for each account to a designated +</I>>>>>><i> hostname to protect that users account usage. +</I>>>>>><i> +</I>>>>>><i> Thanks, +</I>>>>>><i> Lee +</I>>>>>><i> +</I>>>>>><i> _______________________________________________ +</I>>>>>><i> Extend mailing list +</I>>>>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>>>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>>>>><i> +</I>>>>><i> +</I>>>>><i> +</I>>>>><i> -- +</I>>>>><i> Loïc Hoguin +</I>>>>><i> Erlang Cowboy +</I>>>>><i> Nine Nines +</I>>>>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>>><i> +</I>>><i> +</I>>><i> +</I>>><i> -- +</I>>><i> Loïc Hoguin +</I>>><i> Erlang Cowboy +</I>>><i> Nine Nines +</I>>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>>><i> _______________________________________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I> + + +-- +Daniel White + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#266">[ date ]</a> + <a href="thread.html#266">[ thread ]</a> + <a href="subject.html#266">[ subject ]</a> + <a href="author.html#266">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000267.html b/archives/extend/2013-October/000267.html new file mode 100644 index 00000000..b403cab5 --- /dev/null +++ b/archives/extend/2013-October/000267.html @@ -0,0 +1,197 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Cowboy Calling Hostname + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3C9CEDE09F-E3AF-47FB-95B4-6550000B4CE7%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="000266.html"> + <LINK REL="Next" HREF="000268.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Cowboy Calling Hostname</H1> + <B>Lee Sylvester</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Cowboy%20Calling%20Hostname&In-Reply-To=%3C9CEDE09F-E3AF-47FB-95B4-6550000B4CE7%40gmail.com%3E" + TITLE="[99s-extend] Cowboy Calling Hostname">lee.sylvester at gmail.com + </A><BR> + <I>Thu Oct 10 08:05:23 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000268.html">[99s-extend] SSL Example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#267">[ date ]</a> + <a href="thread.html#267">[ thread ]</a> + <a href="subject.html#267">[ subject ]</a> + <a href="author.html#267">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Thank you, Daniel. The project looks very useful. At this stage, I don't need to strictly require calls to come from a set domain but would like this to be a hurdle for hackers. I may set up an IP restriction instead. + +Thanks, +Lee + +Sent from my iPhone + +><i> On Oct 10, 2013, at 12:03 AM, Daniel White <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel at whitehouse.id.au</A>> wrote: +</I>><i> +</I>><i> Depending on your requirements, there is a high likelihood that you +</I>><i> need to support pre-flight requests. Especially if you're intending +</I>><i> on providing credentials in the requests. Many of the interesting +</I>><i> headers are not simple headers (for CORS) and require a handshake +</I>><i> first between browser and server to ensure the headers in question are +</I>><i> allowed to be sent. +</I>><i> +</I>><i> This obviously limits the amount of information you can determine +</I>><i> about the caller. One alternative here, is the use of OAuth2 with the +</I>><i> 'access_token' query parameter. This can be sent along with the +</I>><i> pre-flight request. +</I>><i> +</I>><i> On the other hand, some providers (Github, IIRC) will simply validate +</I>><i> a CORS request by comparing the 'Origin' against their entire list of +</I>><i> registered origins. This opens up some opportunity for abuse by other +</I>><i> clients in the system, but can be further mitigated by enforcing the +</I>><i> 'Origin' more strictly at the authorization step of the request. +</I>><i> +</I>><i> As an aside, I have a cowboy middleware project to do the heavy +</I>><i> lifting for CORS at <A HREF="https://github.com/danielwhite/cowboy_cors.">https://github.com/danielwhite/cowboy_cors.</A> +</I>><i> Business policies can be implemented by means of a callback module. +</I>><i> +</I>><i> Cheers, +</I>><i> +</I>><i> +</I>>><i> On Thu, Oct 10, 2013 at 4:28 AM, Lee Sylvester <<A HREF="https://lists.ninenines.eu/listinfo/extend">lee.sylvester at gmail.com</A>> wrote: +</I>>><i> Essentially, the REST service endpoint would be on widgets.net while the +</I>>><i> clients website, in this case things.com, has a JavaScript that makes an +</I>>><i> AJAX call to widgets.net. The account on widgets.net for things.com will +</I>>><i> have the things.com domain registered to its account, so that widgets.net +</I>>><i> can check to see if the request is coming from an expected domain. +</I>>><i> +</I>>><i> Thanks, +</I>>><i> Lee +</I>>><i> +</I>>><i> +</I>>><i> On 9 Oct 2013, at 16:51, Nathan Michaels <<A HREF="https://lists.ninenines.eu/listinfo/extend">nathan at nmichaels.org</A>> wrote: +</I>>><i> +</I>>><i> Is the client making the request to your service on widgets.net because +</I>>><i> things.com sent them there, or is things.com making the request directly on +</I>>><i> behalf of the client? The first is what Loïc is talking about. The second is +</I>>><i> the source IP of the request, which you can definitely get. +</I>>><i> +</I>>><i> +</I>>>><i> On Wed, Oct 9, 2013 at 11:32 AM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>>>><i> +</I>>>><i> In short: you can't. +</I>>>><i> +</I>>>><i> Browsers may send origin/referer/.. headers depending on the type of +</I>>>><i> request, but you can't rely on them to be real or even just there. +</I>>>><i> +</I>>>><i> +</I>>>>><i> On 10/09/2013 05:30 PM, Lee Sylvester wrote: +</I>>>>><i> +</I>>>>><i> Thank you. I couldn't work out if that's the host being called from or +</I>>>>><i> the host name in the request. For example, a store called things.com makes +</I>>>>><i> a request to my service on widgets.net. I need to see that the request is +</I>>>>><i> made FROM things.com for validation purposes. Is it correct that host will +</I>>>>><i> provide this? +</I>>>>><i> +</I>>>>><i> Thanks, +</I>>>>><i> Lee +</I>>>>><i> +</I>>>>><i> Sent from my iPhone +</I>>>>><i> +</I>>>>>><i> On Oct 9, 2013, at 2:31 PM, Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>>>>>><i> +</I>>>>>><i> cowboy_req:host/1? +</I>>>>>><i> +</I>>>>>><i> Please use the nice manual we have now. +</I>>>>>><i> +</I>>>>>><i> <A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_req</A> +</I>>>>>><i> +</I>>>>>>><i> On 10/09/2013 03:27 PM, Lee Sylvester wrote: +</I>>>>>>><i> Hi, +</I>>>>>>><i> +</I>>>>>>><i> When receiving a Cowboy request, is there a way to find out which +</I>>>>>>><i> hostname the user made the request from? I'm using CORS in my REST and +</I>>>>>>><i> Bullet app, where each call can be made through a given account. However, +</I>>>>>>><i> I'd like to be able to lock requests for each account to a designated +</I>>>>>>><i> hostname to protect that users account usage. +</I>>>>>>><i> +</I>>>>>>><i> Thanks, +</I>>>>>>><i> Lee +</I>>>>>>><i> +</I>>>>>>><i> _______________________________________________ +</I>>>>>>><i> Extend mailing list +</I>>>>>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>>>>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>>>>>><i> +</I>>>>>><i> +</I>>>>>><i> +</I>>>>>><i> -- +</I>>>>>><i> Loïc Hoguin +</I>>>>>><i> Erlang Cowboy +</I>>>>>><i> Nine Nines +</I>>>>>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>>>><i> +</I>>>><i> +</I>>>><i> +</I>>>><i> -- +</I>>>><i> Loïc Hoguin +</I>>>><i> Erlang Cowboy +</I>>>><i> Nine Nines +</I>>>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>>>><i> _______________________________________________ +</I>>>><i> Extend mailing list +</I>>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>>><i> +</I>>><i> +</I>>><i> _______________________________________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>>><i> +</I>>><i> +</I>>><i> +</I>>><i> _______________________________________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> Daniel White +</I> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000268.html">[99s-extend] SSL Example +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#267">[ date ]</a> + <a href="thread.html#267">[ thread ]</a> + <a href="subject.html#267">[ subject ]</a> + <a href="author.html#267">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000268.html b/archives/extend/2013-October/000268.html new file mode 100644 index 00000000..95734509 --- /dev/null +++ b/archives/extend/2013-October/000268.html @@ -0,0 +1,100 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] SSL Example + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20SSL%20Example&In-Reply-To=%3CCAO_b8hbgbhKYxuh2SGA7n0SSQqCWOCjhKWzL5xhjcC4ht2h7WA%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="000267.html"> + <LINK REL="Next" HREF="000269.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] SSL Example</H1> + <B>比邻比特Prinbit</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20SSL%20Example&In-Reply-To=%3CCAO_b8hbgbhKYxuh2SGA7n0SSQqCWOCjhKWzL5xhjcC4ht2h7WA%40mail.gmail.com%3E" + TITLE="[99s-extend] SSL Example">prinbit at gmail.com + </A><BR> + <I>Tue Oct 15 03:53:05 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#268">[ date ]</a> + <a href="thread.html#268">[ thread ]</a> + <a href="subject.html#268">[ subject ]</a> + <a href="author.html#268">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hi Essen, + +Any suggestion on the question? + +I can't receive any email from the lists. + +Thanks in advance + +2013/10/13 比邻比特Prinbit <<A HREF="https://lists.ninenines.eu/listinfo/extend">prinbit at gmail.com</A>>: +><i> Hi essen +</I>><i> +</I>><i> In your ssl example, three files are needed in ssl folder, they are +</I>><i> cowboy-ca.crt, server.crt and server.key. +</I>><i> +</I>><i> I am applying for a free ssl in startssl, and found there are only +</I>><i> server.crt and server.key generated. +</I>><i> +</I>><i> What is cowboy-ca.crt used for? +</I>><i> +</I>><i> I want to add ssl certificate in <A HREF="http://prinbit.com,">http://prinbit.com,</A> my question is +</I>><i> that is cowboy-ca.crt is needed for me? +</I>><i> +</I>><i> Thanks in advance +</I>><i> +</I>><i> -- +</I>><i> Thanks & Regards, +</I>><i> +</I>><i> PrinBit, Video Chatting and Collaborative Coding, Together +</I>><i> +</I>><i> <A HREF="http://prinbit.com">http://prinbit.com</A> +</I> + + +-- +Thanks & Regards, + +PrinBit, Video Chatting and Collaborative Coding, Together + +<A HREF="http://prinbit.com">http://prinbit.com</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A></li> + <LI>Next message: <A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#268">[ date ]</a> + <a href="thread.html#268">[ thread ]</a> + <a href="subject.html#268">[ subject ]</a> + <a href="author.html#268">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000269.html b/archives/extend/2013-October/000269.html new file mode 100644 index 00000000..5c7ddf49 --- /dev/null +++ b/archives/extend/2013-October/000269.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwZDCwOi32RY_mwKY7w-O1Q%2BPTGQwp4vY72KJY3C-Q8_Xw%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="000268.html"> + <LINK REL="Next" HREF="000270.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>akonsu</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwZDCwOi32RY_mwKY7w-O1Q%2BPTGQwp4vY72KJY3C-Q8_Xw%40mail.gmail.com%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">akonsu at gmail.com + </A><BR> + <I>Wed Oct 16 04:55:28 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000268.html">[99s-extend] SSL Example +</A></li> + <LI>Next message: <A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#269">[ date ]</a> + <a href="thread.html#269">[ thread ]</a> + <a href="subject.html#269">[ subject ]</a> + <a href="author.html#269">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hello, + +the documentation for `init` at +<A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler</A> says: + +The receive loop will run for a duration of up to Timeout milliseconds +after it last received data from the socket, at which point it will stop +and send a 204 No Content reply. + +What socket does it refer to? I had an impression that the loop handles +erlang messages. Do these messages come through a socket (sorry about a +trivial question, but I am new to erlang), and this is the socket that the +docs talk about? + +The reason why I am asking is because I used to have a Timeout of 60000, +and even though messages kept coming non stop, it still kept disconnecting +after a minute, until I set Timeout to infinity. + +thanks +Konstantin +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131015/94506752/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131015/94506752/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000268.html">[99s-extend] SSL Example +</A></li> + <LI>Next message: <A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#269">[ date ]</a> + <a href="thread.html#269">[ thread ]</a> + <a href="subject.html#269">[ subject ]</a> + <a href="author.html#269">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000270.html b/archives/extend/2013-October/000270.html new file mode 100644 index 00000000..74979150 --- /dev/null +++ b/archives/extend/2013-October/000270.html @@ -0,0 +1,102 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E0192.7020706%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="000269.html"> + <LINK REL="Next" HREF="000271.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E0192.7020706%40ninenines.eu%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">essen at ninenines.eu + </A><BR> + <I>Wed Oct 16 05:01:38 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#270">[ date ]</a> + <a href="thread.html#270">[ thread ]</a> + <a href="subject.html#270">[ subject ]</a> + <a href="author.html#270">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>The socket connected to the client. + +TCP isn't perfect, there is no way to be 100% sure the client is still +connected, hence the timeout. If the client is still up you should make +it reconnect. + +On 10/16/2013 04:55 AM, akonsu wrote: +><i> Hello, +</I>><i> +</I>><i> the documentation for `init` at +</I>><i> <A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler</A> says: +</I>><i> +</I>><i> The receive loop will run for a duration of up to Timeout milliseconds +</I>><i> after it last received data from the socket, at which point it will stop +</I>><i> and send a 204 No Content reply. +</I>><i> +</I>><i> What socket does it refer to? I had an impression that the loop handles +</I>><i> erlang messages. Do these messages come through a socket (sorry about a +</I>><i> trivial question, but I am new to erlang), and this is the socket that +</I>><i> the docs talk about? +</I>><i> +</I>><i> The reason why I am asking is because I used to have a Timeout of 60000, +</I>><i> and even though messages kept coming non stop, it still kept +</I>><i> disconnecting after a minute, until I set Timeout to infinity. +</I>><i> +</I>><i> thanks +</I>><i> Konstantin +</I>><i> +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#270">[ date ]</a> + <a href="thread.html#270">[ thread ]</a> + <a href="subject.html#270">[ subject ]</a> + <a href="author.html#270">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000271.html b/archives/extend/2013-October/000271.html new file mode 100644 index 00000000..a71e5ae4 --- /dev/null +++ b/archives/extend/2013-October/000271.html @@ -0,0 +1,113 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwYP_rRrgTSqwv7nD2UAJkvKDzpKDfkrfLaLJTff_Dg7ig%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="000270.html"> + <LINK REL="Next" HREF="000272.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>akonsu</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwYP_rRrgTSqwv7nD2UAJkvKDzpKDfkrfLaLJTff_Dg7ig%40mail.gmail.com%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">akonsu at gmail.com + </A><BR> + <I>Wed Oct 16 05:03:53 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#271">[ date ]</a> + <a href="thread.html#271">[ thread ]</a> + <a href="subject.html#271">[ subject ]</a> + <a href="author.html#271">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>so it will disconnect if the client only listens and sends nothing to the +socket, correct? + + +2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> + +><i> The socket connected to the client. +</I>><i> +</I>><i> TCP isn't perfect, there is no way to be 100% sure the client is still +</I>><i> connected, hence the timeout. If the client is still up you should make it +</I>><i> reconnect. +</I>><i> +</I>><i> +</I>><i> On 10/16/2013 04:55 AM, akonsu wrote: +</I>><i> +</I>>><i> Hello, +</I>>><i> +</I>>><i> the documentation for `init` at +</I>>><i> <A HREF="http://ninenines.eu/docs/en/**cowboy/HEAD/manual/cowboy_**loop_handler<http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler">http://ninenines.eu/docs/en/**cowboy/HEAD/manual/cowboy_**loop_handler<http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler</A>>says: +</I>>><i> +</I>>><i> The receive loop will run for a duration of up to Timeout milliseconds +</I>>><i> after it last received data from the socket, at which point it will stop +</I>>><i> and send a 204 No Content reply. +</I>>><i> +</I>>><i> What socket does it refer to? I had an impression that the loop handles +</I>>><i> erlang messages. Do these messages come through a socket (sorry about a +</I>>><i> trivial question, but I am new to erlang), and this is the socket that +</I>>><i> the docs talk about? +</I>>><i> +</I>>><i> The reason why I am asking is because I used to have a Timeout of 60000, +</I>>><i> and even though messages kept coming non stop, it still kept +</I>>><i> disconnecting after a minute, until I set Timeout to infinity. +</I>>><i> +</I>>><i> thanks +</I>>><i> Konstantin +</I>>><i> +</I>>><i> +</I>>><i> ______________________________**_________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>><i> <A HREF="http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend</A>> +</I>>><i> +</I>>><i> +</I>><i> +</I>><i> -- +</I>><i> Loďc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131015/591e8649/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131015/591e8649/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#271">[ date ]</a> + <a href="thread.html#271">[ thread ]</a> + <a href="subject.html#271">[ subject ]</a> + <a href="author.html#271">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000272.html b/archives/extend/2013-October/000272.html new file mode 100644 index 00000000..7a3052d4 --- /dev/null +++ b/archives/extend/2013-October/000272.html @@ -0,0 +1,132 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E03E2.5040201%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="000271.html"> + <LINK REL="Next" HREF="000273.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E03E2.5040201%40ninenines.eu%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">essen at ninenines.eu + </A><BR> + <I>Wed Oct 16 05:11:30 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#272">[ date ]</a> + <a href="thread.html#272">[ thread ]</a> + <a href="subject.html#272">[ subject ]</a> + <a href="author.html#272">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Yep. And it will also disconnect if the client sends too much. It has to +disconnect and reconnect eventually, there's no way around it. + +On 10/16/2013 05:03 AM, akonsu wrote: +><i> so it will disconnect if the client only listens and sends nothing to +</I>><i> the socket, correct? +</I>><i> +</I>><i> +</I>><i> 2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>> +</I>><i> +</I>><i> The socket connected to the client. +</I>><i> +</I>><i> TCP isn't perfect, there is no way to be 100% sure the client is +</I>><i> still connected, hence the timeout. If the client is still up you +</I>><i> should make it reconnect. +</I>><i> +</I>><i> +</I>><i> On 10/16/2013 04:55 AM, akonsu wrote: +</I>><i> +</I>><i> Hello, +</I>><i> +</I>><i> the documentation for `init` at +</I>><i> <A HREF="http://ninenines.eu/docs/en/__cowboy/HEAD/manual/cowboy___loop_handler">http://ninenines.eu/docs/en/__cowboy/HEAD/manual/cowboy___loop_handler</A> +</I>><i> <<A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler</A>> +</I>><i> says: +</I>><i> +</I>><i> The receive loop will run for a duration of up to Timeout +</I>><i> milliseconds +</I>><i> after it last received data from the socket, at which point it +</I>><i> will stop +</I>><i> and send a 204 No Content reply. +</I>><i> +</I>><i> What socket does it refer to? I had an impression that the loop +</I>><i> handles +</I>><i> erlang messages. Do these messages come through a socket (sorry +</I>><i> about a +</I>><i> trivial question, but I am new to erlang), and this is the +</I>><i> socket that +</I>><i> the docs talk about? +</I>><i> +</I>><i> The reason why I am asking is because I used to have a Timeout +</I>><i> of 60000, +</I>><i> and even though messages kept coming non stop, it still kept +</I>><i> disconnecting after a minute, until I set Timeout to infinity. +</I>><i> +</I>><i> thanks +</I>><i> Konstantin +</I>><i> +</I>><i> +</I>><i> _________________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>> +</I>><i> <A HREF="http://lists.ninenines.eu:81/__listinfo/extend">http://lists.ninenines.eu:81/__listinfo/extend</A> +</I>><i> <<A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>> +</I>><i> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> Loďc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#272">[ date ]</a> + <a href="thread.html#272">[ thread ]</a> + <a href="subject.html#272">[ subject ]</a> + <a href="author.html#272">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000273.html b/archives/extend/2013-October/000273.html new file mode 100644 index 00000000..2639fffd --- /dev/null +++ b/archives/extend/2013-October/000273.html @@ -0,0 +1,156 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwY75j1G2Ew13WY5dMCT8_E41b85OjoKdFHw9AZfX9qQcg%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="000272.html"> + <LINK REL="Next" HREF="000274.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>akonsu</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwY75j1G2Ew13WY5dMCT8_E41b85OjoKdFHw9AZfX9qQcg%40mail.gmail.com%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">akonsu at gmail.com + </A><BR> + <I>Wed Oct 16 05:31:46 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#273">[ date ]</a> + <a href="thread.html#273">[ thread ]</a> + <a href="subject.html#273">[ subject ]</a> + <a href="author.html#273">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>thanks for your help. suppose that I want to stream live audio. I do not +know how long my audio program will be, and as I stream it, if I have a +timeout, the server will just disconnect the user that listens to the audio +in the browser. and the browser won't reconnect. Would you suggest the +"right" way to implement something like that? Would infinite timeout +suffice? or is it a bad practice? another type of handler maybe? + + +2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> + +><i> Yep. And it will also disconnect if the client sends too much. It has to +</I>><i> disconnect and reconnect eventually, there's no way around it. +</I>><i> +</I>><i> +</I>><i> On 10/16/2013 05:03 AM, akonsu wrote: +</I>><i> +</I>>><i> so it will disconnect if the client only listens and sends nothing to +</I>>><i> the socket, correct? +</I>>><i> +</I>>><i> +</I>>><i> 2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>> +</I>>><i> +</I>>><i> +</I>>><i> The socket connected to the client. +</I>>><i> +</I>>><i> TCP isn't perfect, there is no way to be 100% sure the client is +</I>>><i> still connected, hence the timeout. If the client is still up you +</I>>><i> should make it reconnect. +</I>>><i> +</I>>><i> +</I>>><i> On 10/16/2013 04:55 AM, akonsu wrote: +</I>>><i> +</I>>><i> Hello, +</I>>><i> +</I>>><i> the documentation for `init` at +</I>>><i> <A HREF="http://ninenines.eu/docs/en/__**cowboy/HEAD/manual/cowboy___**">http://ninenines.eu/docs/en/__**cowboy/HEAD/manual/cowboy___**</A> +</I>>><i> loop_handler<<A HREF="http://ninenines.eu/docs/en/__cowboy/HEAD/manual/cowboy___loop_handler">http://ninenines.eu/docs/en/__cowboy/HEAD/manual/cowboy___loop_handler</A>> +</I>>><i> +</I>>><i> <<A HREF="http://ninenines.eu/docs/en/**cowboy/HEAD/manual/cowboy_**">http://ninenines.eu/docs/en/**cowboy/HEAD/manual/cowboy_**</A> +</I>>><i> loop_handler<<A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler</A>> +</I>>><i> > +</I>>><i> says: +</I>>><i> +</I>>><i> The receive loop will run for a duration of up to Timeout +</I>>><i> milliseconds +</I>>><i> after it last received data from the socket, at which point it +</I>>><i> will stop +</I>>><i> and send a 204 No Content reply. +</I>>><i> +</I>>><i> What socket does it refer to? I had an impression that the loop +</I>>><i> handles +</I>>><i> erlang messages. Do these messages come through a socket (sorry +</I>>><i> about a +</I>>><i> trivial question, but I am new to erlang), and this is the +</I>>><i> socket that +</I>>><i> the docs talk about? +</I>>><i> +</I>>><i> The reason why I am asking is because I used to have a Timeout +</I>>><i> of 60000, +</I>>><i> and even though messages kept coming non stop, it still kept +</I>>><i> disconnecting after a minute, until I set Timeout to infinity. +</I>>><i> +</I>>><i> thanks +</I>>><i> Konstantin +</I>>><i> +</I>>><i> +</I>>><i> ______________________________**___________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.</A>**ninenines.eu<<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>> +</I>>><i> > +</I>>><i> <A HREF="http://lists.ninenines.eu:81/_**_listinfo/extend<http://lists.ninenines.eu:81/__listinfo/extend">http://lists.ninenines.eu:81/_**_listinfo/extend<http://lists.ninenines.eu:81/__listinfo/extend</A>> +</I>>><i> +</I>>><i> <<A HREF="http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/**listinfo/extend<http://lists.ninenines.eu:81/listinfo/extend</A>> +</I>>><i> > +</I>>><i> +</I>>><i> +</I>>><i> +</I>>><i> -- +</I>>><i> Loďc Hoguin +</I>>><i> Erlang Cowboy +</I>>><i> Nine Nines +</I>>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>>><i> +</I>>><i> +</I>>><i> +</I>><i> +</I>><i> -- +</I>><i> Loïc Hoguin +</I>><i> +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131015/203060cc/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131015/203060cc/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#273">[ date ]</a> + <a href="thread.html#273">[ thread ]</a> + <a href="subject.html#273">[ subject ]</a> + <a href="author.html#273">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000274.html b/archives/extend/2013-October/000274.html new file mode 100644 index 00000000..98d9d064 --- /dev/null +++ b/archives/extend/2013-October/000274.html @@ -0,0 +1,183 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E0AAF.3070203%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="000273.html"> + <LINK REL="Next" HREF="000275.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E0AAF.3070203%40ninenines.eu%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">essen at ninenines.eu + </A><BR> + <I>Wed Oct 16 05:40:31 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#274">[ date ]</a> + <a href="thread.html#274">[ thread ]</a> + <a href="subject.html#274">[ subject ]</a> + <a href="author.html#274">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Infinite is bad practice, yes. Infinite means some connections will +*never* be closed, eating FDs and memory for nothing. + +I'm not sure why you want to receive messages, you could just use a +normal handler that asks for more data, sends it, ask for more data, +sends it, etc. + +On 10/16/2013 05:31 AM, akonsu wrote: +><i> thanks for your help. suppose that I want to stream live audio. I do not +</I>><i> know how long my audio program will be, and as I stream it, if I have a +</I>><i> timeout, the server will just disconnect the user that listens to the +</I>><i> audio in the browser. and the browser won't reconnect. Would you suggest +</I>><i> the "right" way to implement something like that? Would infinite timeout +</I>><i> suffice? or is it a bad practice? another type of handler maybe? +</I>><i> +</I>><i> +</I>><i> 2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>> +</I>><i> +</I>><i> Yep. And it will also disconnect if the client sends too much. It +</I>><i> has to disconnect and reconnect eventually, there's no way around it. +</I>><i> +</I>><i> +</I>><i> On 10/16/2013 05:03 AM, akonsu wrote: +</I>><i> +</I>><i> so it will disconnect if the client only listens and sends +</I>><i> nothing to +</I>><i> the socket, correct? +</I>><i> +</I>><i> +</I>><i> 2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> +</I>><i> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> +</I>><i> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>>> +</I>><i> +</I>><i> +</I>><i> The socket connected to the client. +</I>><i> +</I>><i> TCP isn't perfect, there is no way to be 100% sure the +</I>><i> client is +</I>><i> still connected, hence the timeout. If the client is still +</I>><i> up you +</I>><i> should make it reconnect. +</I>><i> +</I>><i> +</I>><i> On 10/16/2013 04:55 AM, akonsu wrote: +</I>><i> +</I>><i> Hello, +</I>><i> +</I>><i> the documentation for `init` at +</I>><i> <A HREF="http://ninenines.eu/docs/en/____cowboy/HEAD/manual/cowboy_____loop_handler">http://ninenines.eu/docs/en/____cowboy/HEAD/manual/cowboy_____loop_handler</A> +</I>><i> <<A HREF="http://ninenines.eu/docs/en/__cowboy/HEAD/manual/cowboy___loop_handler">http://ninenines.eu/docs/en/__cowboy/HEAD/manual/cowboy___loop_handler</A>> +</I>><i> +</I>><i> +</I>><i> <<A HREF="http://ninenines.eu/docs/en/__cowboy/HEAD/manual/cowboy___loop_handler">http://ninenines.eu/docs/en/__cowboy/HEAD/manual/cowboy___loop_handler</A> +</I>><i> <<A HREF="http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler">http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_loop_handler</A>>> +</I>><i> says: +</I>><i> +</I>><i> The receive loop will run for a duration of up to Timeout +</I>><i> milliseconds +</I>><i> after it last received data from the socket, at which +</I>><i> point it +</I>><i> will stop +</I>><i> and send a 204 No Content reply. +</I>><i> +</I>><i> What socket does it refer to? I had an impression that +</I>><i> the loop +</I>><i> handles +</I>><i> erlang messages. Do these messages come through a +</I>><i> socket (sorry +</I>><i> about a +</I>><i> trivial question, but I am new to erlang), and this is the +</I>><i> socket that +</I>><i> the docs talk about? +</I>><i> +</I>><i> The reason why I am asking is because I used to have a +</I>><i> Timeout +</I>><i> of 60000, +</I>><i> and even though messages kept coming non stop, it still +</I>><i> kept +</I>><i> disconnecting after a minute, until I set Timeout to +</I>><i> infinity. +</I>><i> +</I>><i> thanks +</I>><i> Konstantin +</I>><i> +</I>><i> +</I>><i> ___________________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>> +</I>><i> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.__ninenines.eu</A> +</I>><i> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A>>> +</I>><i> <A HREF="http://lists.ninenines.eu:81/____listinfo/extend">http://lists.ninenines.eu:81/____listinfo/extend</A> +</I>><i> <<A HREF="http://lists.ninenines.eu:81/__listinfo/extend">http://lists.ninenines.eu:81/__listinfo/extend</A>> +</I>><i> +</I>><i> <<A HREF="http://lists.ninenines.eu:81/__listinfo/extend">http://lists.ninenines.eu:81/__listinfo/extend</A> +</I>><i> <<A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A>>> +</I>><i> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> Loďc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I>><i> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> Loïc Hoguin +</I>><i> +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#274">[ date ]</a> + <a href="thread.html#274">[ thread ]</a> + <a href="subject.html#274">[ subject ]</a> + <a href="author.html#274">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000275.html b/archives/extend/2013-October/000275.html new file mode 100644 index 00000000..946261ed --- /dev/null +++ b/archives/extend/2013-October/000275.html @@ -0,0 +1,84 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwZW64xGtVxca35PngCXBJEh8oaQk9TuOPesXf48XUH%3Dqg%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="000274.html"> + <LINK REL="Next" HREF="000276.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>akonsu</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwZW64xGtVxca35PngCXBJEh8oaQk9TuOPesXf48XUH%3Dqg%40mail.gmail.com%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">akonsu at gmail.com + </A><BR> + <I>Wed Oct 16 05:48:42 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#275">[ date ]</a> + <a href="thread.html#275">[ thread ]</a> + <a href="subject.html#275">[ subject ]</a> + <a href="author.html#275">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>1. do you mean that there is no way on the server side to tell if the +client has disconnected? + +2. if I use a normal handler, I will still run into the same problem, it +does not matter which handler I use, from the standpoint of deciding +whether the client is still there, right? + +I am confused as to how I can implement my streaming and not drop the +connection on each client and yet make sure I do close the connections when +the clients disconnect... + + +2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> + +><i> Infinite is bad practice, yes. Infinite means some connections will +</I>><i> *never* be closed, eating FDs and memory for nothing. +</I>><i> +</I>><i> I'm not sure why you want to receive messages, you could just use a normal +</I>><i> handler that asks for more data, sends it, ask for more data, sends it, etc. +</I>><i> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131015/bac10460/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131015/bac10460/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#275">[ date ]</a> + <a href="thread.html#275">[ thread ]</a> + <a href="subject.html#275">[ subject ]</a> + <a href="author.html#275">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000276.html b/archives/extend/2013-October/000276.html new file mode 100644 index 00000000..4445393d --- /dev/null +++ b/archives/extend/2013-October/000276.html @@ -0,0 +1,98 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E10FE.2020107%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="000275.html"> + <LINK REL="Next" HREF="000277.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E10FE.2020107%40ninenines.eu%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">essen at ninenines.eu + </A><BR> + <I>Wed Oct 16 06:07:26 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#276">[ date ]</a> + <a href="thread.html#276">[ thread ]</a> + <a href="subject.html#276">[ subject ]</a> + <a href="author.html#276">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>On 10/16/2013 05:48 AM, akonsu wrote: +><i> 1. do you mean that there is no way on the server side to tell if the +</I>><i> client has disconnected? +</I> +There are ways, and Cowboy will happily detect them. There's also the +problem that a side may be closed without the other side knowing about +it, which is why you need timeouts. + +><i> 2. if I use a normal handler, I will still run into the same problem, it +</I>><i> does not matter which handler I use, from the standpoint of deciding +</I>><i> whether the client is still there, right? +</I> +If the client is gone, the send will fail. Normal handlers are pretty +much the same except they don't have a timeout, because your code has an +explicit end. + +><i> I am confused as to how I can implement my streaming and not drop the +</I>><i> connection on each client and yet make sure I do close the connections +</I>><i> when the clients disconnect... +</I>><i> +</I>><i> +</I>><i> 2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>> +</I>><i> +</I>><i> Infinite is bad practice, yes. Infinite means some connections will +</I>><i> *never* be closed, eating FDs and memory for nothing. +</I>><i> +</I>><i> I'm not sure why you want to receive messages, you could just use a +</I>><i> normal handler that asks for more data, sends it, ask for more data, +</I>><i> sends it, etc. +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#276">[ date ]</a> + <a href="thread.html#276">[ thread ]</a> + <a href="subject.html#276">[ subject ]</a> + <a href="author.html#276">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000277.html b/archives/extend/2013-October/000277.html new file mode 100644 index 00000000..ae9bd3ff --- /dev/null +++ b/archives/extend/2013-October/000277.html @@ -0,0 +1,118 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwb0ubM3O%3DyKmEJvrJ94Y2xVWpnPxXWO7Qx0q8kxL4%2BqwQ%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="000276.html"> + <LINK REL="Next" HREF="000278.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>akonsu</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwb0ubM3O%3DyKmEJvrJ94Y2xVWpnPxXWO7Qx0q8kxL4%2BqwQ%40mail.gmail.com%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">akonsu at gmail.com + </A><BR> + <I>Wed Oct 16 06:12:29 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#277">[ date ]</a> + <a href="thread.html#277">[ thread ]</a> + <a href="subject.html#277">[ subject ]</a> + <a href="author.html#277">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>thanks. one more question if you do not mind. you say that we need timeouts +when the client does not notify us when it dies. but then you say that if +the client dies then the socket write will fail. to me this sounds like a +contradiction. would you please clarify? + +(I assume that this is the problem that we are discussing: +<A HREF="http://stackoverflow.com/questions/283375/detecting-tcp-client-disconnect,">http://stackoverflow.com/questions/283375/detecting-tcp-client-disconnect,</A> +right?) + + +2013/10/16 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> + +><i> On 10/16/2013 05:48 AM, akonsu wrote: +</I>><i> +</I>>><i> 1. do you mean that there is no way on the server side to tell if the +</I>>><i> client has disconnected? +</I>>><i> +</I>><i> +</I>><i> There are ways, and Cowboy will happily detect them. There's also the +</I>><i> problem that a side may be closed without the other side knowing about it, +</I>><i> which is why you need timeouts. +</I>><i> +</I>><i> +</I>><i> 2. if I use a normal handler, I will still run into the same problem, it +</I>>><i> does not matter which handler I use, from the standpoint of deciding +</I>>><i> whether the client is still there, right? +</I>>><i> +</I>><i> +</I>><i> If the client is gone, the send will fail. Normal handlers are pretty much +</I>><i> the same except they don't have a timeout, because your code has an +</I>><i> explicit end. +</I>><i> +</I>><i> I am confused as to how I can implement my streaming and not drop the +</I>>><i> connection on each client and yet make sure I do close the connections +</I>>><i> when the clients disconnect... +</I>>><i> +</I>>><i> +</I>>><i> 2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>> +</I>>><i> +</I>>><i> +</I>>><i> Infinite is bad practice, yes. Infinite means some connections will +</I>>><i> *never* be closed, eating FDs and memory for nothing. +</I>>><i> +</I>>><i> I'm not sure why you want to receive messages, you could just use a +</I>>><i> normal handler that asks for more data, sends it, ask for more data, +</I>>><i> sends it, etc. +</I>>><i> +</I>>><i> +</I>><i> +</I>><i> -- +</I>><i> Loïc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131016/edbc349c/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131016/edbc349c/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#277">[ date ]</a> + <a href="thread.html#277">[ thread ]</a> + <a href="subject.html#277">[ subject ]</a> + <a href="author.html#277">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000278.html b/archives/extend/2013-October/000278.html new file mode 100644 index 00000000..0bded9f4 --- /dev/null +++ b/archives/extend/2013-October/000278.html @@ -0,0 +1,142 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E179F.2010200%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="000277.html"> + <LINK REL="Next" HREF="000279.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E179F.2010200%40ninenines.eu%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">essen at ninenines.eu + </A><BR> + <I>Wed Oct 16 06:35:43 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#278">[ date ]</a> + <a href="thread.html#278">[ thread ]</a> + <a href="subject.html#278">[ subject ]</a> + <a href="author.html#278">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Loop handlers are designed to wait for a long time with the socket +*idle* and then eventually send one response then close the socket. +Things like long-polling. + +What you are doing is just streaming, for which you do not need a +timeout because the socket isn't idle. You are just sending a large +response, and normal handlers are perfectly capable of doing that. + +On 10/16/2013 06:12 AM, akonsu wrote: +><i> thanks. one more question if you do not mind. you say that we need +</I>><i> timeouts when the client does not notify us when it dies. but then you +</I>><i> say that if the client dies then the socket write will fail. to me this +</I>><i> sounds like a contradiction. would you please clarify? +</I>><i> +</I>><i> (I assume that this is the problem that we are discussing: +</I>><i> <A HREF="http://stackoverflow.com/questions/283375/detecting-tcp-client-disconnect,">http://stackoverflow.com/questions/283375/detecting-tcp-client-disconnect,</A> +</I>><i> right?) +</I>><i> +</I>><i> +</I>><i> 2013/10/16 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>> +</I>><i> +</I>><i> On 10/16/2013 05:48 AM, akonsu wrote: +</I>><i> +</I>><i> 1. do you mean that there is no way on the server side to tell +</I>><i> if the +</I>><i> client has disconnected? +</I>><i> +</I>><i> +</I>><i> There are ways, and Cowboy will happily detect them. There's also +</I>><i> the problem that a side may be closed without the other side knowing +</I>><i> about it, which is why you need timeouts. +</I>><i> +</I>><i> +</I>><i> 2. if I use a normal handler, I will still run into the same +</I>><i> problem, it +</I>><i> does not matter which handler I use, from the standpoint of deciding +</I>><i> whether the client is still there, right? +</I>><i> +</I>><i> +</I>><i> If the client is gone, the send will fail. Normal handlers are +</I>><i> pretty much the same except they don't have a timeout, because your +</I>><i> code has an explicit end. +</I>><i> +</I>><i> I am confused as to how I can implement my streaming and not +</I>><i> drop the +</I>><i> connection on each client and yet make sure I do close the +</I>><i> connections +</I>><i> when the clients disconnect... +</I>><i> +</I>><i> +</I>><i> 2013/10/15 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> +</I>><i> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> +</I>><i> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>>> +</I>><i> +</I>><i> +</I>><i> Infinite is bad practice, yes. Infinite means some +</I>><i> connections will +</I>><i> *never* be closed, eating FDs and memory for nothing. +</I>><i> +</I>><i> I'm not sure why you want to receive messages, you could +</I>><i> just use a +</I>><i> normal handler that asks for more data, sends it, ask for +</I>><i> more data, +</I>><i> sends it, etc. +</I>><i> +</I>><i> +</I>><i> +</I>><i> -- +</I>><i> Loïc Hoguin +</I>><i> Erlang Cowboy +</I>><i> Nine Nines +</I>><i> <A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#278">[ date ]</a> + <a href="thread.html#278">[ thread ]</a> + <a href="subject.html#278">[ subject ]</a> + <a href="author.html#278">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000279.html b/archives/extend/2013-October/000279.html new file mode 100644 index 00000000..8d3af11e --- /dev/null +++ b/archives/extend/2013-October/000279.html @@ -0,0 +1,81 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwbh8xH9Etiev66oA90p7aw3RjffnYoBd8b3Kuab0Bg6WQ%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="000278.html"> + <LINK REL="Next" HREF="000280.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>akonsu</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3CCA%2BeMAwbh8xH9Etiev66oA90p7aw3RjffnYoBd8b3Kuab0Bg6WQ%40mail.gmail.com%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">akonsu at gmail.com + </A><BR> + <I>Wed Oct 16 06:42:02 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#279">[ date ]</a> + <a href="thread.html#279">[ thread ]</a> + <a href="subject.html#279">[ subject ]</a> + <a href="author.html#279">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>ok. the data that I need to send are coming as erlang messages to the +process that runs my handler. so it sounds like if I want to use the +"normal" cowboy_http_handler, then I need a receive loop inside handle(Req, +State) callback, right? Basically, my response stream will potentially +never end, I do not know how to handle this properly in cowboy... + + +2013/10/16 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> + +><i> Loop handlers are designed to wait for a long time with the socket *idle* +</I>><i> and then eventually send one response then close the socket. Things like +</I>><i> long-polling. +</I>><i> +</I>><i> What you are doing is just streaming, for which you do not need a timeout +</I>><i> because the socket isn't idle. You are just sending a large response, and +</I>><i> normal handlers are perfectly capable of doing that. +</I>><i> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131016/abe38a1a/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131016/abe38a1a/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#279">[ date ]</a> + <a href="thread.html#279">[ thread ]</a> + <a href="subject.html#279">[ subject ]</a> + <a href="author.html#279">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000280.html b/archives/extend/2013-October/000280.html new file mode 100644 index 00000000..24d9e1e3 --- /dev/null +++ b/archives/extend/2013-October/000280.html @@ -0,0 +1,91 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] timeout in cowboy loop handler + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E1A85.3070706%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="000279.html"> + <LINK REL="Next" HREF="000281.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] timeout in cowboy loop handler</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20timeout%20in%20cowboy%20loop%20handler&In-Reply-To=%3C525E1A85.3070706%40ninenines.eu%3E" + TITLE="[99s-extend] timeout in cowboy loop handler">essen at ninenines.eu + </A><BR> + <I>Wed Oct 16 06:48:05 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000281.html">[99s-extend] handler and a linked process +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#280">[ date ]</a> + <a href="thread.html#280">[ thread ]</a> + <a href="subject.html#280">[ subject ]</a> + <a href="author.html#280">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Then use a loop handler, set its timeout to infinity *but* create a new +timeout that checks regularly if the handler is active or not to be able +to kill it off in case something happens. + +On 10/16/2013 06:42 AM, akonsu wrote: +><i> ok. the data that I need to send are coming as erlang messages to the +</I>><i> process that runs my handler. so it sounds like if I want to use the +</I>><i> "normal" cowboy_http_handler, then I need a receive loop +</I>><i> inside handle(Req, State) callback, right? Basically, my response stream +</I>><i> will potentially never end, I do not know how to handle this properly in +</I>><i> cowboy... +</I>><i> +</I>><i> +</I>><i> 2013/10/16 Loïc Hoguin <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A> <mailto:<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>>> +</I>><i> +</I>><i> Loop handlers are designed to wait for a long time with the socket +</I>><i> *idle* and then eventually send one response then close the socket. +</I>><i> Things like long-polling. +</I>><i> +</I>><i> What you are doing is just streaming, for which you do not need a +</I>><i> timeout because the socket isn't idle. You are just sending a large +</I>><i> response, and normal handlers are perfectly capable of doing that. +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000281.html">[99s-extend] handler and a linked process +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#280">[ date ]</a> + <a href="thread.html#280">[ thread ]</a> + <a href="subject.html#280">[ subject ]</a> + <a href="author.html#280">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000281.html b/archives/extend/2013-October/000281.html new file mode 100644 index 00000000..621c5af7 --- /dev/null +++ b/archives/extend/2013-October/000281.html @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] handler and a linked process + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20handler%20and%20a%20linked%20process&In-Reply-To=%3CCA%2BeMAwZE0WqFNH0%3DusVp0ykdGhNE0y7QoaDoRRNcMMveucy7Qw%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="000280.html"> + <LINK REL="Next" HREF="000282.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] handler and a linked process</H1> + <B>akonsu</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20handler%20and%20a%20linked%20process&In-Reply-To=%3CCA%2BeMAwZE0WqFNH0%3DusVp0ykdGhNE0y7QoaDoRRNcMMveucy7Qw%40mail.gmail.com%3E" + TITLE="[99s-extend] handler and a linked process">akonsu at gmail.com + </A><BR> + <I>Fri Oct 18 15:15:37 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000282.html">[99s-extend] handler and a linked process +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#281">[ date ]</a> + <a href="thread.html#281">[ thread ]</a> + <a href="subject.html#281">[ subject ]</a> + <a href="author.html#281">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hi, + +I have a handler that spawns a process and links to this process. the new +process does not trap exit signals. + +When I open the URL that is handled by this handler in the browser, and +stop the browser before the handler finishes the request, the handler is +terminated and my terminate function is called with the Reason set to +{error,closed} or something similar. + +When this happens, the linked process does not get killed, so I have to +call exit on it from the terminate function. + +is this by design? I suppose when I cancel the browser request, the handler +is exited with normal exit code, correct? could you point me to the source +code for that part? it is perhaps in the "ranch" repo, no? + +thanks in advance + +konstantin +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131018/00d4df12/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131018/00d4df12/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A></li> + <LI>Next message: <A HREF="000282.html">[99s-extend] handler and a linked process +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#281">[ date ]</a> + <a href="thread.html#281">[ thread ]</a> + <a href="subject.html#281">[ subject ]</a> + <a href="author.html#281">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000282.html b/archives/extend/2013-October/000282.html new file mode 100644 index 00000000..a3ec5417 --- /dev/null +++ b/archives/extend/2013-October/000282.html @@ -0,0 +1,105 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] handler and a linked process + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20handler%20and%20a%20linked%20process&In-Reply-To=%3C52652716.4010806%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="000281.html"> + <LINK REL="Next" HREF="000283.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] handler and a linked process</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20handler%20and%20a%20linked%20process&In-Reply-To=%3C52652716.4010806%40ninenines.eu%3E" + TITLE="[99s-extend] handler and a linked process">essen at ninenines.eu + </A><BR> + <I>Mon Oct 21 15:07:34 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000281.html">[99s-extend] handler and a linked process +</A></li> + <LI>Next message: <A HREF="000283.html">[99s-extend] Generate url in cowboy +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#282">[ date ]</a> + <a href="thread.html#282">[ thread ]</a> + <a href="subject.html#282">[ subject ]</a> + <a href="author.html#282">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hey, + +I'm guessing you use loop handler or websocket handler? The browser +closing the connection in these cases is perfectly normal, that's part +of the deal. What you can do is monitor the connection process from the +other process if you need to go down in all cases. Links are only useful +for crashing on errors. + +On 10/18/2013 03:15 PM, akonsu wrote: +><i> Hi, +</I>><i> +</I>><i> I have a handler that spawns a process and links to this process. the +</I>><i> new process does not trap exit signals. +</I>><i> +</I>><i> When I open the URL that is handled by this handler in the browser, and +</I>><i> stop the browser before the handler finishes the request, the handler is +</I>><i> terminated and my terminate function is called with the Reason set to +</I>><i> {error,closed} or something similar. +</I>><i> +</I>><i> When this happens, the linked process does not get killed, so I have to +</I>><i> call exit on it from the terminate function. +</I>><i> +</I>><i> is this by design? I suppose when I cancel the browser request, the +</I>><i> handler is exited with normal exit code, correct? could you point me to +</I>><i> the source code for that part? it is perhaps in the "ranch" repo, no? +</I>><i> +</I>><i> thanks in advance +</I>><i> +</I>><i> konstantin +</I>><i> +</I>><i> +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I> + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000281.html">[99s-extend] handler and a linked process +</A></li> + <LI>Next message: <A HREF="000283.html">[99s-extend] Generate url in cowboy +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#282">[ date ]</a> + <a href="thread.html#282">[ thread ]</a> + <a href="subject.html#282">[ subject ]</a> + <a href="author.html#282">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000283.html b/archives/extend/2013-October/000283.html new file mode 100644 index 00000000..7205f1a7 --- /dev/null +++ b/archives/extend/2013-October/000283.html @@ -0,0 +1,87 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] Generate url in cowboy + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Generate%20url%20in%20cowboy&In-Reply-To=%3C52663C82.80702%40statpro.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="000282.html"> + <LINK REL="Next" HREF="000284.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] Generate url in cowboy</H1> + <B>Antonio Valente</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20Generate%20url%20in%20cowboy&In-Reply-To=%3C52663C82.80702%40statpro.com%3E" + TITLE="[99s-extend] Generate url in cowboy">antonio.valente at statpro.com + </A><BR> + <I>Tue Oct 22 10:51:14 CEST 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000282.html">[99s-extend] handler and a linked process +</A></li> + <LI>Next message: <A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#283">[ date ]</a> + <a href="thread.html#283">[ thread ]</a> + <a href="subject.html#283">[ subject ]</a> + <a href="author.html#283">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hi all, +I need to automatically generate urls from the dispatcher configuration: +I'm looking for some kind of function that, given the dispatcher +configuration, a module and a list of bindings, returns an url. + +For example, if I have the following dispatch configuration: + + [ + {'_', [ + + {"/api/v1/container/:resource/something", a_module, []}, + ]} + ]. + +I'd like to do something like: + +<<"/api/v1/container/replaced/something">> = generate_url(Dispatch, +a_module, [{resource, "replaced"}]). + +Is there such a function? If not, can you give me some advice to write one? + +Thanks +Antonio + + +This message is private and confidential. If you have received this message in error, please notify us and remove it from your system. Any views or opinions presented in this email are solely those of the author and might not represent those of StatPro. Warning: Although StatPro has taken reasonable precautions to ensure no viruses are present in this email, the company cannot accept responsibility for any loss or damage arising from the use of this email or attachments. + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000282.html">[99s-extend] handler and a linked process +</A></li> + <LI>Next message: <A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#283">[ date ]</a> + <a href="thread.html#283">[ thread ]</a> + <a href="subject.html#283">[ subject ]</a> + <a href="author.html#283">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000284.html b/archives/extend/2013-October/000284.html new file mode 100644 index 00000000..89cdd668 --- /dev/null +++ b/archives/extend/2013-October/000284.html @@ -0,0 +1,73 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] cowboy_rest, POST and redirect + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy_rest%2C%20POST%20and%20redirect&In-Reply-To=%3CCE9537D4.769B%25rolph.deruiter%40spilgames.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="000283.html"> + <LINK REL="Next" HREF="000285.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] cowboy_rest, POST and redirect</H1> + <B>Rolph de Ruiter</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy_rest%2C%20POST%20and%20redirect&In-Reply-To=%3CCE9537D4.769B%25rolph.deruiter%40spilgames.com%3E" + TITLE="[99s-extend] cowboy_rest, POST and redirect">Rolph.deRuiter at spilgames.com + </A><BR> + <I>Tue Oct 29 10:00:53 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000283.html">[99s-extend] Generate url in cowboy +</A></li> + <LI>Next message: <A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#284">[ date ]</a> + <a href="thread.html#284">[ thread ]</a> + <a href="subject.html#284">[ subject ]</a> + <a href="author.html#284">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hi, + +I'm using cowboy_rest for a part of our api to handle POST requests. Under certain conditions, I would like to redirect to a new location (based on availability of the redirect qs parameter). +I was unable to get the moved_temporarily/2 callback to work (was not invoked at al). So I just do the 302 myself, using cowboy_req:reply/4. This works, however, every time it produces an error in the emulator process: + [error] emulator Error in process <0.509.0> on node '<A HREF="https://lists.ninenines.eu/listinfo/extend">api at dev.loc</A>' with exit value: {function_clause,[{cowboy_req,reply,[204,[],<<0 bytes>>,{http_req,#Port<0.14491>,ranch_tcp,keepalive,<0.509.0>,<<4 bytes>>,'HTTP/1.1',{{10,10,10,1},62197},<<15 bytes>>,undefined,8000,<<26 bytes>>,undefined,<<14 bytes>>,[{<<8 bytes>>,<<5 bytes>>}],[{method,<<5 bytes>>}],[{<<4 bytes>>,<<20 bytes>>},{<<10 bytes>>,<<10 bytes>>},{<<14 bytes>>,<<2 bytes>>},{<<6 bytes>>,<<74 bytes>>},{<<6 bytes>>,<<27 bytes>>},{<<10 bytes>>,<<120 bytes>>},{<<12 bytes>>,<<33 bytes>>},{<<7 bytes>>,<<54 bytes>>},{<<15 bytes>>,<<17 bytes>>},{<<15 bytes>>,<<14 bytes>>},{<<6 bytes>>,<<245 bytes>>}],[{<<14 bytes>>,34},{<<6 bytes>>,undefined},{<<14 bytes>>,34},{<<12 bytes>>,{<<11 bytes>>,<<21 bytes>>,[]}},{<<17 bytes>>,undefined},{<<13 bytes>>,... + +Can you point me out how to (ideally) make use of moved_temporarily/2 or how I can prevent cowboy_rest from wanting to reply with 204 in this case? + +Cheers, +Rolph +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131029/5fc5da75/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131029/5fc5da75/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000283.html">[99s-extend] Generate url in cowboy +</A></li> + <LI>Next message: <A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#284">[ date ]</a> + <a href="thread.html#284">[ thread ]</a> + <a href="subject.html#284">[ subject ]</a> + <a href="author.html#284">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000285.html b/archives/extend/2013-October/000285.html new file mode 100644 index 00000000..0976552b --- /dev/null +++ b/archives/extend/2013-October/000285.html @@ -0,0 +1,97 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] cowboy_rest, POST and redirect + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy_rest%2C%20POST%20and%20redirect&In-Reply-To=%3C526F7B40.4060408%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="000284.html"> + <LINK REL="Next" HREF="000286.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] cowboy_rest, POST and redirect</H1> + <B>Loïc Hoguin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy_rest%2C%20POST%20and%20redirect&In-Reply-To=%3C526F7B40.4060408%40ninenines.eu%3E" + TITLE="[99s-extend] cowboy_rest, POST and redirect">essen at ninenines.eu + </A><BR> + <I>Tue Oct 29 10:09:20 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI>Next message: <A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#285">[ date ]</a> + <a href="thread.html#285">[ thread ]</a> + <a href="subject.html#285">[ subject ]</a> + <a href="author.html#285">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>On 10/29/2013 10:00 AM, Rolph de Ruiter wrote: +><i> Hi, +</I>><i> +</I>><i> I'm using cowboy_rest for a part of our api to handle POST requests. +</I>><i> Under certain conditions, I would like to redirect to a new location +</I>><i> (based on availability of the redirect qs parameter). +</I>><i> I was unable to get the moved_temporarily/2 callback to work (was not +</I>><i> invoked at al). So I just do the 302 myself, using cowboy_req:reply/4. +</I>><i> This works, however, every time it produces an error in the emulator +</I>><i> process: +</I>><i> [error] emulator Error in process <0.509.0> on node '<A HREF="https://lists.ninenines.eu/listinfo/extend">api at dev.loc</A>' with +</I>><i> exit value: {function_clause,[{cowboy_req,reply,[204,[],<<0 +</I>><i> bytes>>,{http_req,#Port<0.14491>,ranch_tcp,keepalive,<0.509.0>,<<4 +</I>><i> bytes>>,'HTTP/1.1',{{10,10,10,1},62197},<<15 bytes>>,undefined,8000,<<26 +</I>><i> bytes>>,undefined,<<14 bytes>>,[{<<8 bytes>>,<<5 bytes>>}],[{method,<<5 +</I>><i> bytes>>}],[{<<4 bytes>>,<<20 bytes>>},{<<10 bytes>>,<<10 bytes>>},{<<14 +</I>><i> bytes>>,<<2 bytes>>},{<<6 bytes>>,<<74 bytes>>},{<<6 bytes>>,<<27 +</I>><i> bytes>>},{<<10 bytes>>,<<120 bytes>>},{<<12 bytes>>,<<33 bytes>>},{<<7 +</I>><i> bytes>>,<<54 bytes>>},{<<15 bytes>>,<<17 bytes>>},{<<15 bytes>>,<<14 +</I>><i> bytes>>},{<<6 bytes>>,<<245 bytes>>}],[{<<14 bytes>>,34},{<<6 +</I>><i> bytes>>,undefined},{<<14 bytes>>,34},{<<12 bytes>>,{<<11 bytes>>,<<21 +</I>><i> bytes>>,[]}},{<<17 bytes>>,undefined},{<<13 bytes>>,... +</I>><i> +</I>><i> Can you point me out how to (ideally) make use of moved_temporarily/2 or +</I>><i> how I can prevent cowboy_rest from wanting to reply with 204 in this case? +</I> +moved_temporarily is only called if the resource previously existed. + +As for calling reply yourself, you just need to return {halt, NewReq, +State} afterwards. + +-- +Loïc Hoguin +Erlang Cowboy +Nine Nines +<A HREF="http://ninenines.eu">http://ninenines.eu</A> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI>Next message: <A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#285">[ date ]</a> + <a href="thread.html#285">[ thread ]</a> + <a href="subject.html#285">[ subject ]</a> + <a href="author.html#285">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000286.html b/archives/extend/2013-October/000286.html new file mode 100644 index 00000000..bc94b505 --- /dev/null +++ b/archives/extend/2013-October/000286.html @@ -0,0 +1,117 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] cowboy_rest, POST and redirect + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy_rest%2C%20POST%20and%20redirect&In-Reply-To=%3CCE953B4E.76B1%25rolph.deruiter%40spilgames.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="000285.html"> + <LINK REL="Next" HREF="000287.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] cowboy_rest, POST and redirect</H1> + <B>Rolph de Ruiter</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20cowboy_rest%2C%20POST%20and%20redirect&In-Reply-To=%3CCE953B4E.76B1%25rolph.deruiter%40spilgames.com%3E" + TITLE="[99s-extend] cowboy_rest, POST and redirect">Rolph.deRuiter at spilgames.com + </A><BR> + <I>Tue Oct 29 10:16:15 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI>Next message: <A HREF="000287.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#286">[ date ]</a> + <a href="thread.html#286">[ thread ]</a> + <a href="subject.html#286">[ subject ]</a> + <a href="author.html#286">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>(forgot to include the list) + +On 10/29/13 10:14 AM, "Rolph de Ruiter" <<A HREF="https://lists.ninenines.eu/listinfo/extend">Rolph.deRuiter at spilgames.com</A>> +wrote: + +><i>Thanks! +</I>><i> +</I>><i>{halt, NewReq, State} worked like a charm :) +</I>><i> +</I>><i>Cheers, +</I>><i>Rolph +</I>><i> +</I>><i>On 10/29/13 10:09 AM, "Loïc Hoguin" <<A HREF="https://lists.ninenines.eu/listinfo/extend">essen at ninenines.eu</A>> wrote: +</I>><i> +</I>>><i>On 10/29/2013 10:00 AM, Rolph de Ruiter wrote: +</I>>>><i> Hi, +</I>>>><i> +</I>>>><i> I'm using cowboy_rest for a part of our api to handle POST requests. +</I>>>><i> Under certain conditions, I would like to redirect to a new location +</I>>>><i> (based on availability of the redirect qs parameter). +</I>>>><i> I was unable to get the moved_temporarily/2 callback to work (was not +</I>>>><i> invoked at al). So I just do the 302 myself, using cowboy_req:reply/4. +</I>>>><i> This works, however, every time it produces an error in the emulator +</I>>>><i> process: +</I>>>><i> [error] emulator Error in process <0.509.0> on node '<A HREF="https://lists.ninenines.eu/listinfo/extend">api at dev.loc</A>' +</I>>>><i>with +</I>>>><i> exit value: {function_clause,[{cowboy_req,reply,[204,[],<<0 +</I>>>><i> bytes>>,{http_req,#Port<0.14491>,ranch_tcp,keepalive,<0.509.0>,<<4 +</I>>>><i> bytes>>,'HTTP/1.1',{{10,10,10,1},62197},<<15 +</I>>>><i>bytes>>,undefined,8000,<<26 +</I>>>><i> bytes>>,undefined,<<14 bytes>>,[{<<8 bytes>>,<<5 bytes>>}],[{method,<<5 +</I>>>><i> bytes>>}],[{<<4 bytes>>,<<20 bytes>>},{<<10 bytes>>,<<10 bytes>>},{<<14 +</I>>>><i> bytes>>,<<2 bytes>>},{<<6 bytes>>,<<74 bytes>>},{<<6 bytes>>,<<27 +</I>>>><i> bytes>>},{<<10 bytes>>,<<120 bytes>>},{<<12 bytes>>,<<33 bytes>>},{<<7 +</I>>>><i> bytes>>,<<54 bytes>>},{<<15 bytes>>,<<17 bytes>>},{<<15 bytes>>,<<14 +</I>>>><i> bytes>>},{<<6 bytes>>,<<245 bytes>>}],[{<<14 bytes>>,34},{<<6 +</I>>>><i> bytes>>,undefined},{<<14 bytes>>,34},{<<12 bytes>>,{<<11 bytes>>,<<21 +</I>>>><i> bytes>>,[]}},{<<17 bytes>>,undefined},{<<13 bytes>>,... +</I>>>><i> +</I>>>><i> Can you point me out how to (ideally) make use of moved_temporarily/2 +</I>>>><i>or +</I>>>><i> how I can prevent cowboy_rest from wanting to reply with 204 in this +</I>>>><i>case? +</I>>><i> +</I>>><i>moved_temporarily is only called if the resource previously existed. +</I>>><i> +</I>>><i>As for calling reply yourself, you just need to return {halt, NewReq, +</I>>><i>State} afterwards. +</I>>><i> +</I>>><i>-- +</I>>><i>Loïc Hoguin +</I>>><i>Erlang Cowboy +</I>>><i>Nine Nines +</I>>><i><A HREF="http://ninenines.eu">http://ninenines.eu</A> +</I>><i> +</I> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI>Next message: <A HREF="000287.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#286">[ date ]</a> + <a href="thread.html#286">[ thread ]</a> + <a href="subject.html#286">[ subject ]</a> + <a href="author.html#286">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000287.html b/archives/extend/2013-October/000287.html new file mode 100644 index 00000000..a4a09c33 --- /dev/null +++ b/archives/extend/2013-October/000287.html @@ -0,0 +1,103 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] REST handler failure + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CCAJCf5Rz0mKmouz5DEunOOZ%2Bb21bfLCjyQy7ssbHAgUp%2B3rGCaw%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="000286.html"> + <LINK REL="Next" HREF="000288.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] REST handler failure</H1> + <B>Daniel Goertzen</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CCAJCf5Rz0mKmouz5DEunOOZ%2Bb21bfLCjyQy7ssbHAgUp%2B3rGCaw%40mail.gmail.com%3E" + TITLE="[99s-extend] REST handler failure">daniel.goertzen at gmail.com + </A><BR> + <I>Tue Oct 29 21:25:54 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI>Next message: <A HREF="000288.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#287">[ date ]</a> + <a href="thread.html#287">[ thread ]</a> + <a href="subject.html#287">[ subject ]</a> + <a href="author.html#287">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>My situation is that I have a rest handler that may fail due to invalid url +segments. Example situation: + + +init(_Transport, _Req, _Opts) -> + {upgrade, protocol, cowboy_rest}. + +content_types_provided(Req, State) -> + {[{<<"application/json">>, get_json}], Req, State}. + +get_json(Req0, State) -> + {Params, Req1} = lists:mapfoldl(fun cowboy_req:binding/2, Req0, +[param1, param2, param3, ....]), + + case catch other_module:request(Params) of + {'EXIT', {badarg, _}} -> + hmmm, Params were bad and I would like to return a 404 code now. + Result -> + {jiffy:encode(Result), Req1, State} + end. + + + +So I would like to return a 404 code when my underlying request function +fails, but it appears my choices are: + +- return a 200 (ok) response with data. +- crash and cause a 500 (Internal Server Error) response to be returned. +Not exactly the sentiment I want. + + +Is there some other way to cause a 404 response? + +I realize I could add path constraint functions, but I will be replicating +logic from my underlying request function. Furthermore, the constraint +functions consider parameters in isolation, so that won't work if the +validity of parameters is coupled. + +Thanks, +Dan. +-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131029/a9204600/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131029/a9204600/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A></li> + <LI>Next message: <A HREF="000288.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#287">[ date ]</a> + <a href="thread.html#287">[ thread ]</a> + <a href="subject.html#287">[ subject ]</a> + <a href="author.html#287">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000288.html b/archives/extend/2013-October/000288.html new file mode 100644 index 00000000..50c515f5 --- /dev/null +++ b/archives/extend/2013-October/000288.html @@ -0,0 +1,110 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] REST handler failure + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3C0F1D01F5-A4B3-4135-8F4C-FCC2E9F79DFA%40llaisdy.com%3E"> + <META NAME="robots" CONTENT="index,nofollow"> + <style type="text/css"> + pre { + white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */ + } + </style> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + <LINK REL="Previous" HREF="000287.html"> + <LINK REL="Next" HREF="000289.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] REST handler failure</H1> + <B>Ivan uemlianin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3C0F1D01F5-A4B3-4135-8F4C-FCC2E9F79DFA%40llaisdy.com%3E" + TITLE="[99s-extend] REST handler failure">ivan at llaisdy.com + </A><BR> + <I>Tue Oct 29 22:01:30 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000287.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000289.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#288">[ date ]</a> + <a href="thread.html#288">[ thread ]</a> + <a href="subject.html#288">[ subject ]</a> + <a href="author.html#288">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Sorry for terse but I only have a phone. Why can't you return a 404 here? Using something like cowboy:reply(404, ... + +Ivan + +-- +festina lente + + +On 29 Oct 2013, at 21:25, Daniel Goertzen <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel.goertzen at gmail.com</A>> wrote: + +><i> My situation is that I have a rest handler that may fail due to invalid url segments. Example situation: +</I>><i> +</I>><i> +</I>><i> init(_Transport, _Req, _Opts) -> +</I>><i> {upgrade, protocol, cowboy_rest}. +</I>><i> +</I>><i> content_types_provided(Req, State) -> +</I>><i> {[{<<"application/json">>, get_json}], Req, State}. +</I>><i> +</I>><i> get_json(Req0, State) -> +</I>><i> {Params, Req1} = lists:mapfoldl(fun cowboy_req:binding/2, Req0, [param1, param2, param3, ....]), +</I>><i> +</I>><i> case catch other_module:request(Params) of +</I>><i> {'EXIT', {badarg, _}} -> +</I>><i> hmmm, Params were bad and I would like to return a 404 code now. +</I>><i> Result -> +</I>><i> {jiffy:encode(Result), Req1, State} +</I>><i> end. +</I>><i> +</I>><i> +</I>><i> +</I>><i> So I would like to return a 404 code when my underlying request function fails, but it appears my choices are: +</I>><i> +</I>><i> - return a 200 (ok) response with data. +</I>><i> - crash and cause a 500 (Internal Server Error) response to be returned. Not exactly the sentiment I want. +</I>><i> +</I>><i> +</I>><i> Is there some other way to cause a 404 response? +</I>><i> +</I>><i> I realize I could add path constraint functions, but I will be replicating logic from my underlying request function. Furthermore, the constraint functions consider parameters in isolation, so that won't work if the validity of parameters is coupled. +</I>><i> +</I>><i> Thanks, +</I>><i> Dan. +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131029/3df30c1d/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131029/3df30c1d/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000287.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000289.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#288">[ date ]</a> + <a href="thread.html#288">[ thread ]</a> + <a href="subject.html#288">[ subject ]</a> + <a href="author.html#288">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000289.html b/archives/extend/2013-October/000289.html new file mode 100644 index 00000000..35391c10 --- /dev/null +++ b/archives/extend/2013-October/000289.html @@ -0,0 +1,154 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] REST handler failure + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CCAJCf5RzwUz1moQooTpMp33tFn8R9xkhxqOnR0joBSUSTwJ_CoQ%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="000288.html"> + <LINK REL="Next" HREF="000290.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] REST handler failure</H1> + <B>Daniel Goertzen</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CCAJCf5RzwUz1moQooTpMp33tFn8R9xkhxqOnR0joBSUSTwJ_CoQ%40mail.gmail.com%3E" + TITLE="[99s-extend] REST handler failure">daniel.goertzen at gmail.com + </A><BR> + <I>Wed Oct 30 15:58:41 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000288.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000290.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#289">[ date ]</a> + <a href="thread.html#289">[ thread ]</a> + <a href="subject.html#289">[ subject ]</a> + <a href="author.html#289">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Well, this sort of works. I tried this in the response handler: + + {ok, Req2} = cowboy_req:reply(404, [] , <<"this is the body +that gets used">>, Req1), + {<<"this body gets ignored">>, Req2, State}; + + + +The client receives a 404 response, but cowboy crashes: + +=ERROR REPORT==== 8-Sep-2013::22:22:03 === +Error in process <0.131.0> with exit value: +{function_clause,[{cowboy_req,reply,[200,[],<<31 +bytes>>,{http_req,#Port<0.1208>,ranch_tcp,keepalive,<0.131.0>,<<3 +bytes>>,'HTTP/1.1',{{192,168,1,187},51017},<<12 bytes>>,undefined,80,<<24 +bytes>>,undefined,<<0 bytes>>,undefined,[{channel_num,3}],[{<<10 +bytes>>,<<11 bytes>>},{<<4 bytes>>,<<12 bytes>>},{<<6 bytes>>,<<3 +bytes>>}],[{<<17 bytes>>,undefined},{<<13 bytes>>,undefined},{<<19 +bytes>>,undefined},{<<8 bytes>>,undefined},{<<6 bytes>>,[... + + + +The issue is that the REST wrapper wants to do the cowboy_req:reply(), and +when we do the call we cause the wrapper's call to fail. + +Dan. + + + +On Tue, Oct 29, 2013 at 4:01 PM, Ivan uemlianin <<A HREF="https://lists.ninenines.eu/listinfo/extend">ivan at llaisdy.com</A>> wrote: + +><i> Sorry for terse but I only have a phone. Why can't you return a 404 here? +</I>><i> Using something like cowboy:reply(404, ... +</I>><i> +</I>><i> Ivan +</I>><i> +</I>><i> -- +</I>><i> festina lente +</I>><i> +</I>><i> +</I>><i> On 29 Oct 2013, at 21:25, Daniel Goertzen <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel.goertzen at gmail.com</A>> +</I>><i> wrote: +</I>><i> +</I>><i> My situation is that I have a rest handler that may fail due to invalid +</I>><i> url segments. Example situation: +</I>><i> +</I>><i> +</I>><i> init(_Transport, _Req, _Opts) -> +</I>><i> {upgrade, protocol, cowboy_rest}. +</I>><i> +</I>><i> content_types_provided(Req, State) -> +</I>><i> {[{<<"application/json">>, get_json}], Req, State}. +</I>><i> +</I>><i> get_json(Req0, State) -> +</I>><i> {Params, Req1} = lists:mapfoldl(fun cowboy_req:binding/2, Req0, +</I>><i> [param1, param2, param3, ....]), +</I>><i> +</I>><i> case catch other_module:request(Params) of +</I>><i> {'EXIT', {badarg, _}} -> +</I>><i> hmmm, Params were bad and I would like to return a 404 code +</I>><i> now. +</I>><i> Result -> +</I>><i> {jiffy:encode(Result), Req1, State} +</I>><i> end. +</I>><i> +</I>><i> +</I>><i> +</I>><i> So I would like to return a 404 code when my underlying request function +</I>><i> fails, but it appears my choices are: +</I>><i> +</I>><i> - return a 200 (ok) response with data. +</I>><i> - crash and cause a 500 (Internal Server Error) response to be returned. +</I>><i> Not exactly the sentiment I want. +</I>><i> +</I>><i> +</I>><i> Is there some other way to cause a 404 response? +</I>><i> +</I>><i> I realize I could add path constraint functions, but I will be replicating +</I>><i> logic from my underlying request function. Furthermore, the constraint +</I>><i> functions consider parameters in isolation, so that won't work if the +</I>><i> validity of parameters is coupled. +</I>><i> +</I>><i> Thanks, +</I>><i> Dan. +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131030/460453c8/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131030/460453c8/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000288.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000290.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#289">[ date ]</a> + <a href="thread.html#289">[ thread ]</a> + <a href="subject.html#289">[ subject ]</a> + <a href="author.html#289">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000290.html b/archives/extend/2013-October/000290.html new file mode 100644 index 00000000..fef7ff9f --- /dev/null +++ b/archives/extend/2013-October/000290.html @@ -0,0 +1,141 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] REST handler failure + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CA7D0DF68-BC2E-4249-A81F-3F7A645AD310%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="000289.html"> + <LINK REL="Next" HREF="000293.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] REST handler failure</H1> + <B>Tilman Holschuh</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CA7D0DF68-BC2E-4249-A81F-3F7A645AD310%40gmail.com%3E" + TITLE="[99s-extend] REST handler failure">tilman.holschuh at gmail.com + </A><BR> + <I>Wed Oct 30 16:25:02 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000289.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000293.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#290">[ date ]</a> + <a href="thread.html#290">[ thread ]</a> + <a href="subject.html#290">[ subject ]</a> + <a href="author.html#290">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Why not let resource_exists/2 return false when your resource does not exist? You will get 404 on false. This way you separate the implementation for turning your data to json from checking if the request went to the correct resource. + +- Tilman + +On 2013-10-30, at 7:58 AM, Daniel Goertzen wrote: + +><i> Well, this sort of works. I tried this in the response handler: +</I>><i> +</I>><i> {ok, Req2} = cowboy_req:reply(404, [] , <<"this is the body that gets used">>, Req1), +</I>><i> {<<"this body gets ignored">>, Req2, State}; +</I>><i> +</I>><i> +</I>><i> +</I>><i> The client receives a 404 response, but cowboy crashes: +</I>><i> +</I>><i> =ERROR REPORT==== 8-Sep-2013::22:22:03 === +</I>><i> Error in process <0.131.0> with exit value: {function_clause,[{cowboy_req,reply,[200,[],<<31 bytes>>,{http_req,#Port<0.1208>,ranch_tcp,keepalive,<0.131.0>,<<3 bytes>>,'HTTP/1.1',{{192,168,1,187},51017},<<12 bytes>>,undefined,80,<<24 bytes>>,undefined,<<0 bytes>>,undefined,[{channel_num,3}],[{<<10 bytes>>,<<11 bytes>>},{<<4 bytes>>,<<12 bytes>>},{<<6 bytes>>,<<3 bytes>>}],[{<<17 bytes>>,undefined},{<<13 bytes>>,undefined},{<<19 bytes>>,undefined},{<<8 bytes>>,undefined},{<<6 bytes>>,[... +</I>><i> +</I>><i> +</I>><i> +</I>><i> The issue is that the REST wrapper wants to do the cowboy_req:reply(), and when we do the call we cause the wrapper's call to fail. +</I>><i> +</I>><i> Dan. +</I>><i> +</I>><i> +</I>><i> +</I>><i> On Tue, Oct 29, 2013 at 4:01 PM, Ivan uemlianin <<A HREF="https://lists.ninenines.eu/listinfo/extend">ivan at llaisdy.com</A>> wrote: +</I>><i> Sorry for terse but I only have a phone. Why can't you return a 404 here? Using something like cowboy:reply(404, ... +</I>><i> +</I>><i> Ivan +</I>><i> +</I>><i> -- +</I>><i> festina lente +</I>><i> +</I>><i> +</I>><i> On 29 Oct 2013, at 21:25, Daniel Goertzen <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel.goertzen at gmail.com</A>> wrote: +</I>><i> +</I>>><i> My situation is that I have a rest handler that may fail due to invalid url segments. Example situation: +</I>>><i> +</I>>><i> +</I>>><i> init(_Transport, _Req, _Opts) -> +</I>>><i> {upgrade, protocol, cowboy_rest}. +</I>>><i> +</I>>><i> content_types_provided(Req, State) -> +</I>>><i> {[{<<"application/json">>, get_json}], Req, State}. +</I>>><i> +</I>>><i> get_json(Req0, State) -> +</I>>><i> {Params, Req1} = lists:mapfoldl(fun cowboy_req:binding/2, Req0, [param1, param2, param3, ....]), +</I>>><i> +</I>>><i> case catch other_module:request(Params) of +</I>>><i> {'EXIT', {badarg, _}} -> +</I>>><i> hmmm, Params were bad and I would like to return a 404 code now. +</I>>><i> Result -> +</I>>><i> {jiffy:encode(Result), Req1, State} +</I>>><i> end. +</I>>><i> +</I>>><i> +</I>>><i> +</I>>><i> So I would like to return a 404 code when my underlying request function fails, but it appears my choices are: +</I>>><i> +</I>>><i> - return a 200 (ok) response with data. +</I>>><i> - crash and cause a 500 (Internal Server Error) response to be returned. Not exactly the sentiment I want. +</I>>><i> +</I>>><i> +</I>>><i> Is there some other way to cause a 404 response? +</I>>><i> +</I>>><i> I realize I could add path constraint functions, but I will be replicating logic from my underlying request function. Furthermore, the constraint functions consider parameters in isolation, so that won't work if the validity of parameters is coupled. +</I>>><i> +</I>>><i> Thanks, +</I>>><i> Dan. +</I>>><i> _______________________________________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> _______________________________________________ +</I>><i> Extend mailing list +</I>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I> + +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000289.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000293.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#290">[ date ]</a> + <a href="thread.html#290">[ thread ]</a> + <a href="subject.html#290">[ subject ]</a> + <a href="author.html#290">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000291.html b/archives/extend/2013-October/000291.html new file mode 100644 index 00000000..12b20628 --- /dev/null +++ b/archives/extend/2013-October/000291.html @@ -0,0 +1,144 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] REST handler failure + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3C215FA968-210F-474B-A3C2-0627D8FFFC74%40llaisdy.com%3E"> + <META NAME="robots" CONTENT="index,nofollow"> + <style type="text/css"> + pre { + white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */ + } + </style> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + <LINK REL="Previous" HREF="000293.html"> + <LINK REL="Next" HREF="000292.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] REST handler failure</H1> + <B>Ivan uemlianin</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3C215FA968-210F-474B-A3C2-0627D8FFFC74%40llaisdy.com%3E" + TITLE="[99s-extend] REST handler failure">ivan at llaisdy.com + </A><BR> + <I>Wed Oct 30 16:27:15 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000293.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000292.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#291">[ date ]</a> + <a href="thread.html#291">[ thread ]</a> + <a href="subject.html#291">[ subject ]</a> + <a href="author.html#291">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Instead of <<"this body ignored">> can you return the atom halt? + +#dontevenhaveanyofmycodewithme:( + +Ivan + +-- +festina lente + + +On 30 Oct 2013, at 15:58, Daniel Goertzen <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel.goertzen at gmail.com</A>> wrote: + +><i> Well, this sort of works. I tried this in the response handler: +</I>><i> +</I>><i> {ok, Req2} = cowboy_req:reply(404, [] , <<"this is the body that gets used">>, Req1), +</I>><i> {<<"this body gets ignored">>, Req2, State}; +</I>><i> +</I>><i> +</I>><i> +</I>><i> The client receives a 404 response, but cowboy crashes: +</I>><i> +</I>><i> =ERROR REPORT==== 8-Sep-2013::22:22:03 === +</I>><i> Error in process <0.131.0> with exit value: {function_clause,[{cowboy_req,reply,[200,[],<<31 bytes>>,{http_req,#Port<0.1208>,ranch_tcp,keepalive,<0.131.0>,<<3 bytes>>,'HTTP/1.1',{{192,168,1,187},51017},<<12 bytes>>,undefined,80,<<24 bytes>>,undefined,<<0 bytes>>,undefined,[{channel_num,3}],[{<<10 bytes>>,<<11 bytes>>},{<<4 bytes>>,<<12 bytes>>},{<<6 bytes>>,<<3 bytes>>}],[{<<17 bytes>>,undefined},{<<13 bytes>>,undefined},{<<19 bytes>>,undefined},{<<8 bytes>>,undefined},{<<6 bytes>>,[... +</I>><i> +</I>><i> +</I>><i> +</I>><i> The issue is that the REST wrapper wants to do the cowboy_req:reply(), and when we do the call we cause the wrapper's call to fail. +</I>><i> +</I>><i> Dan. +</I>><i> +</I>><i> +</I>><i> +</I>><i> On Tue, Oct 29, 2013 at 4:01 PM, Ivan uemlianin <<A HREF="https://lists.ninenines.eu/listinfo/extend">ivan at llaisdy.com</A>> wrote: +</I>>><i> Sorry for terse but I only have a phone. Why can't you return a 404 here? Using something like cowboy:reply(404, ... +</I>>><i> +</I>>><i> Ivan +</I>>><i> +</I>>><i> -- +</I>>><i> festina lente +</I>>><i> +</I>>><i> +</I>>><i> On 29 Oct 2013, at 21:25, Daniel Goertzen <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel.goertzen at gmail.com</A>> wrote: +</I>>><i> +</I>>>><i> My situation is that I have a rest handler that may fail due to invalid url segments. Example situation: +</I>>>><i> +</I>>>><i> +</I>>>><i> init(_Transport, _Req, _Opts) -> +</I>>>><i> {upgrade, protocol, cowboy_rest}. +</I>>>><i> +</I>>>><i> content_types_provided(Req, State) -> +</I>>>><i> {[{<<"application/json">>, get_json}], Req, State}. +</I>>>><i> +</I>>>><i> get_json(Req0, State) -> +</I>>>><i> {Params, Req1} = lists:mapfoldl(fun cowboy_req:binding/2, Req0, [param1, param2, param3, ....]), +</I>>>><i> +</I>>>><i> case catch other_module:request(Params) of +</I>>>><i> {'EXIT', {badarg, _}} -> +</I>>>><i> hmmm, Params were bad and I would like to return a 404 code now. +</I>>>><i> Result -> +</I>>>><i> {jiffy:encode(Result), Req1, State} +</I>>>><i> end. +</I>>>><i> +</I>>>><i> +</I>>>><i> +</I>>>><i> So I would like to return a 404 code when my underlying request function fails, but it appears my choices are: +</I>>>><i> +</I>>>><i> - return a 200 (ok) response with data. +</I>>>><i> - crash and cause a 500 (Internal Server Error) response to be returned. Not exactly the sentiment I want. +</I>>>><i> +</I>>>><i> +</I>>>><i> Is there some other way to cause a 404 response? +</I>>>><i> +</I>>>><i> I realize I could add path constraint functions, but I will be replicating logic from my underlying request function. Furthermore, the constraint functions consider parameters in isolation, so that won't work if the validity of parameters is coupled. +</I>>>><i> +</I>>>><i> Thanks, +</I>>>><i> Dan. +</I>>>><i> _______________________________________________ +</I>>>><i> Extend mailing list +</I>>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131030/6e8ec2f0/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131030/6e8ec2f0/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000293.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000292.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#291">[ date ]</a> + <a href="thread.html#291">[ thread ]</a> + <a href="subject.html#291">[ subject ]</a> + <a href="author.html#291">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000292.html b/archives/extend/2013-October/000292.html new file mode 100644 index 00000000..373e8147 --- /dev/null +++ b/archives/extend/2013-October/000292.html @@ -0,0 +1,173 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] REST handler failure + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CCAJCf5Rx_o66FDE-91kX_%3DKBQou9wcx%2BUEenGPFYLE2nR_PRh8g%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="000291.html"> + + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] REST handler failure</H1> + <B>Daniel Goertzen</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CCAJCf5Rx_o66FDE-91kX_%3DKBQou9wcx%2BUEenGPFYLE2nR_PRh8g%40mail.gmail.com%3E" + TITLE="[99s-extend] REST handler failure">daniel.goertzen at gmail.com + </A><BR> + <I>Wed Oct 30 16:32:47 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000291.html">[99s-extend] REST handler failure +</A></li> + + <LI> <B>Messages sorted by:</B> + <a href="date.html#292">[ date ]</a> + <a href="thread.html#292">[ thread ]</a> + <a href="subject.html#292">[ subject ]</a> + <a href="author.html#292">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Returning 'halt' caused a status code of 204. + +Dan. + + +On Wed, Oct 30, 2013 at 10:27 AM, Ivan uemlianin <<A HREF="https://lists.ninenines.eu/listinfo/extend">ivan at llaisdy.com</A>> wrote: + +><i> Instead of <<"this body ignored">> can you return the atom halt? +</I>><i> +</I>><i> #dontevenhaveanyofmycodewithme:( +</I>><i> +</I>><i> Ivan +</I>><i> +</I>><i> -- +</I>><i> festina lente +</I>><i> +</I>><i> +</I>><i> On 30 Oct 2013, at 15:58, Daniel Goertzen <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel.goertzen at gmail.com</A>> +</I>><i> wrote: +</I>><i> +</I>><i> Well, this sort of works. I tried this in the response handler: +</I>><i> +</I>><i> {ok, Req2} = cowboy_req:reply(404, [] , <<"this is the body +</I>><i> that gets used">>, Req1), +</I>><i> {<<"this body gets ignored">>, Req2, State}; +</I>><i> +</I>><i> +</I>><i> +</I>><i> The client receives a 404 response, but cowboy crashes: +</I>><i> +</I>><i> =ERROR REPORT==== 8-Sep-2013::22:22:03 === +</I>><i> Error in process <0.131.0> with exit value: +</I>><i> {function_clause,[{cowboy_req,reply,[200,[],<<31 +</I>><i> bytes>>,{http_req,#Port<0.1208>,ranch_tcp,keepalive,<0.131.0>,<<3 +</I>><i> bytes>>,'HTTP/1.1',{{192,168,1,187},51017},<<12 bytes>>,undefined,80,<<24 +</I>><i> bytes>>,undefined,<<0 bytes>>,undefined,[{channel_num,3}],[{<<10 +</I>><i> bytes>>,<<11 bytes>>},{<<4 bytes>>,<<12 bytes>>},{<<6 bytes>>,<<3 +</I>><i> bytes>>}],[{<<17 bytes>>,undefined},{<<13 bytes>>,undefined},{<<19 +</I>><i> bytes>>,undefined},{<<8 bytes>>,undefined},{<<6 bytes>>,[... +</I>><i> +</I>><i> +</I>><i> +</I>><i> The issue is that the REST wrapper wants to do the cowboy_req:reply(), and +</I>><i> when we do the call we cause the wrapper's call to fail. +</I>><i> +</I>><i> Dan. +</I>><i> +</I>><i> +</I>><i> +</I>><i> On Tue, Oct 29, 2013 at 4:01 PM, Ivan uemlianin <<A HREF="https://lists.ninenines.eu/listinfo/extend">ivan at llaisdy.com</A>> wrote: +</I>><i> +</I>>><i> Sorry for terse but I only have a phone. Why can't you return a 404 here? +</I>>><i> Using something like cowboy:reply(404, ... +</I>>><i> +</I>>><i> Ivan +</I>>><i> +</I>>><i> -- +</I>>><i> festina lente +</I>>><i> +</I>>><i> +</I>>><i> On 29 Oct 2013, at 21:25, Daniel Goertzen <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel.goertzen at gmail.com</A>> +</I>>><i> wrote: +</I>>><i> +</I>>><i> My situation is that I have a rest handler that may fail due to invalid +</I>>><i> url segments. Example situation: +</I>>><i> +</I>>><i> +</I>>><i> init(_Transport, _Req, _Opts) -> +</I>>><i> {upgrade, protocol, cowboy_rest}. +</I>>><i> +</I>>><i> content_types_provided(Req, State) -> +</I>>><i> {[{<<"application/json">>, get_json}], Req, State}. +</I>>><i> +</I>>><i> get_json(Req0, State) -> +</I>>><i> {Params, Req1} = lists:mapfoldl(fun cowboy_req:binding/2, Req0, +</I>>><i> [param1, param2, param3, ....]), +</I>>><i> +</I>>><i> case catch other_module:request(Params) of +</I>>><i> {'EXIT', {badarg, _}} -> +</I>>><i> hmmm, Params were bad and I would like to return a 404 code +</I>>><i> now. +</I>>><i> Result -> +</I>>><i> {jiffy:encode(Result), Req1, State} +</I>>><i> end. +</I>>><i> +</I>>><i> +</I>>><i> +</I>>><i> So I would like to return a 404 code when my underlying request function +</I>>><i> fails, but it appears my choices are: +</I>>><i> +</I>>><i> - return a 200 (ok) response with data. +</I>>><i> - crash and cause a 500 (Internal Server Error) response to be returned. +</I>>><i> Not exactly the sentiment I want. +</I>>><i> +</I>>><i> +</I>>><i> Is there some other way to cause a 404 response? +</I>>><i> +</I>>><i> I realize I could add path constraint functions, but I will be +</I>>><i> replicating logic from my underlying request function. Furthermore, the +</I>>><i> constraint functions consider parameters in isolation, so that won't work +</I>>><i> if the validity of parameters is coupled. +</I>>><i> +</I>>><i> Thanks, +</I>>><i> Dan. +</I>>><i> +</I>>><i> _______________________________________________ +</I>>><i> Extend mailing list +</I>>><i> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>>><i> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>>><i> +</I>>><i> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131030/0ab7c8ee/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131030/0ab7c8ee/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000291.html">[99s-extend] REST handler failure +</A></li> + + <LI> <B>Messages sorted by:</B> + <a href="date.html#292">[ date ]</a> + <a href="thread.html#292">[ thread ]</a> + <a href="subject.html#292">[ subject ]</a> + <a href="author.html#292">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/000293.html b/archives/extend/2013-October/000293.html new file mode 100644 index 00000000..548908dd --- /dev/null +++ b/archives/extend/2013-October/000293.html @@ -0,0 +1,175 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <TITLE> [99s-extend] REST handler failure + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CCAJCf5RzwO4nNcv%3D2Ezf7aMQqFShPhLs4zaYoBBunmzuC7Wp4uQ%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="000290.html"> + <LINK REL="Next" HREF="000291.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[99s-extend] REST handler failure</H1> + <B>Daniel Goertzen</B> + <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20REST%20handler%20failure&In-Reply-To=%3CCAJCf5RzwO4nNcv%3D2Ezf7aMQqFShPhLs4zaYoBBunmzuC7Wp4uQ%40mail.gmail.com%3E" + TITLE="[99s-extend] REST handler failure">daniel.goertzen at gmail.com + </A><BR> + <I>Wed Oct 30 16:46:37 CET 2013</I> + <P><UL> + <LI>Previous message: <A HREF="000290.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000291.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#293">[ date ]</a> + <a href="thread.html#293">[ thread ]</a> + <a href="subject.html#293">[ subject ]</a> + <a href="author.html#293">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>That's what I was looking for, thanks! + +Dan. + + +On Wed, Oct 30, 2013 at 10:25 AM, Tilman Holschuh <<A HREF="https://lists.ninenines.eu/listinfo/extend">tilman.holschuh at gmail.com</A> +><i> wrote: +</I> +><i> Why not let resource_exists/2 return false when your resource does not +</I>><i> exist? You will get 404 on false. This way you separate the implementation +</I>><i> for turning your data to json from checking if the request went to the +</I>><i> correct resource. +</I>><i> +</I>><i> - Tilman +</I>><i> +</I>><i> On 2013-10-30, at 7:58 AM, Daniel Goertzen wrote: +</I>><i> +</I>><i> > Well, this sort of works. I tried this in the response handler: +</I>><i> > +</I>><i> > {ok, Req2} = cowboy_req:reply(404, [] , <<"this is the body +</I>><i> that gets used">>, Req1), +</I>><i> > {<<"this body gets ignored">>, Req2, State}; +</I>><i> > +</I>><i> > +</I>><i> > +</I>><i> > The client receives a 404 response, but cowboy crashes: +</I>><i> > +</I>><i> > =ERROR REPORT==== 8-Sep-2013::22:22:03 === +</I>><i> > Error in process <0.131.0> with exit value: +</I>><i> {function_clause,[{cowboy_req,reply,[200,[],<<31 +</I>><i> bytes>>,{http_req,#Port<0.1208>,ranch_tcp,keepalive,<0.131.0>,<<3 +</I>><i> bytes>>,'HTTP/1.1',{{192,168,1,187},51017},<<12 bytes>>,undefined,80,<<24 +</I>><i> bytes>>,undefined,<<0 bytes>>,undefined,[{channel_num,3}],[{<<10 +</I>><i> bytes>>,<<11 bytes>>},{<<4 bytes>>,<<12 bytes>>},{<<6 bytes>>,<<3 +</I>><i> bytes>>}],[{<<17 bytes>>,undefined},{<<13 bytes>>,undefined},{<<19 +</I>><i> bytes>>,undefined},{<<8 bytes>>,undefined},{<<6 bytes>>,[... +</I>><i> > +</I>><i> > +</I>><i> > +</I>><i> > The issue is that the REST wrapper wants to do the cowboy_req:reply(), +</I>><i> and when we do the call we cause the wrapper's call to fail. +</I>><i> > +</I>><i> > Dan. +</I>><i> > +</I>><i> > +</I>><i> > +</I>><i> > On Tue, Oct 29, 2013 at 4:01 PM, Ivan uemlianin <<A HREF="https://lists.ninenines.eu/listinfo/extend">ivan at llaisdy.com</A>> +</I>><i> wrote: +</I>><i> > Sorry for terse but I only have a phone. Why can't you return a 404 +</I>><i> here? Using something like cowboy:reply(404, ... +</I>><i> > +</I>><i> > Ivan +</I>><i> > +</I>><i> > -- +</I>><i> > festina lente +</I>><i> > +</I>><i> > +</I>><i> > On 29 Oct 2013, at 21:25, Daniel Goertzen <<A HREF="https://lists.ninenines.eu/listinfo/extend">daniel.goertzen at gmail.com</A>> +</I>><i> wrote: +</I>><i> > +</I>><i> >> My situation is that I have a rest handler that may fail due to invalid +</I>><i> url segments. Example situation: +</I>><i> >> +</I>><i> >> +</I>><i> >> init(_Transport, _Req, _Opts) -> +</I>><i> >> {upgrade, protocol, cowboy_rest}. +</I>><i> >> +</I>><i> >> content_types_provided(Req, State) -> +</I>><i> >> {[{<<"application/json">>, get_json}], Req, State}. +</I>><i> >> +</I>><i> >> get_json(Req0, State) -> +</I>><i> >> {Params, Req1} = lists:mapfoldl(fun cowboy_req:binding/2, Req0, +</I>><i> [param1, param2, param3, ....]), +</I>><i> >> +</I>><i> >> case catch other_module:request(Params) of +</I>><i> >> {'EXIT', {badarg, _}} -> +</I>><i> >> hmmm, Params were bad and I would like to return a 404 code +</I>><i> now. +</I>><i> >> Result -> +</I>><i> >> {jiffy:encode(Result), Req1, State} +</I>><i> >> end. +</I>><i> >> +</I>><i> >> +</I>><i> >> +</I>><i> >> So I would like to return a 404 code when my underlying request +</I>><i> function fails, but it appears my choices are: +</I>><i> >> +</I>><i> >> - return a 200 (ok) response with data. +</I>><i> >> - crash and cause a 500 (Internal Server Error) response to be +</I>><i> returned. Not exactly the sentiment I want. +</I>><i> >> +</I>><i> >> +</I>><i> >> Is there some other way to cause a 404 response? +</I>><i> >> +</I>><i> >> I realize I could add path constraint functions, but I will be +</I>><i> replicating logic from my underlying request function. Furthermore, the +</I>><i> constraint functions consider parameters in isolation, so that won't work +</I>><i> if the validity of parameters is coupled. +</I>><i> >> +</I>><i> >> Thanks, +</I>><i> >> Dan. +</I>><i> >> _______________________________________________ +</I>><i> >> Extend mailing list +</I>><i> >> <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> >> <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> > +</I>><i> > _______________________________________________ +</I>><i> > Extend mailing list +</I>><i> > <A HREF="https://lists.ninenines.eu/listinfo/extend">Extend at lists.ninenines.eu</A> +</I>><i> > <A HREF="http://lists.ninenines.eu:81/listinfo/extend">http://lists.ninenines.eu:81/listinfo/extend</A> +</I>><i> +</I>><i> +</I>-------------- next part -------------- +An HTML attachment was scrubbed... +URL: <<A HREF="http://lists.ninenines.eu/archives/extend/attachments/20131030/3ea4ac64/attachment.html">http://lists.ninenines.eu/archives/extend/attachments/20131030/3ea4ac64/attachment.html</A>> +</PRE> + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI>Previous message: <A HREF="000290.html">[99s-extend] REST handler failure +</A></li> + <LI>Next message: <A HREF="000291.html">[99s-extend] REST handler failure +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#293">[ date ]</a> + <a href="thread.html#293">[ thread ]</a> + <a href="subject.html#293">[ subject ]</a> + <a href="author.html#293">[ author ]</a> + </LI> + </UL> + +<hr> +<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend +mailing list</a><br> +</body></html> diff --git a/archives/extend/2013-October/author.html b/archives/extend/2013-October/author.html new file mode 100644 index 00000000..f2461560 --- /dev/null +++ b/archives/extend/2013-October/author.html @@ -0,0 +1,242 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <title>The Extend October 2013 Archive by author</title> + <META NAME="robots" CONTENT="noindex,follow"> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <a name="start"></A> + <h1>October 2013 Archives by author</h1> + <ul> + <li> <b>Messages sorted by:</b> + <a href="thread.html#start">[ thread ]</a> + <a href="subject.html#start">[ subject ]</a> + + <a href="date.html#start">[ date ]</a> + + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p><b>Starting:</b> <i>Thu Oct 3 07:00:28 CEST 2013</i><br> + <b>Ending:</b> <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Messages:</b> 39<p> + <ul> + +<LI><A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="256"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="258"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="259"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000287.html">[99s-extend] REST handler failure +</A><A NAME="287"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000289.html">[99s-extend] REST handler failure +</A><A NAME="289"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000292.html">[99s-extend] REST handler failure +</A><A NAME="292"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000293.html">[99s-extend] REST handler failure +</A><A NAME="293"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="257"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="261"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="263"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="270"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="272"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="274"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="276"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="278"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="280"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000282.html">[99s-extend] handler and a linked process +</A><A NAME="282"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="285"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000290.html">[99s-extend] REST handler failure +</A><A NAME="290"> </A> +<I>Tilman Holschuh +</I> + +<LI><A HREF="000255.html">[99s-extend] websocket_info and RPC +</A><A NAME="255"> </A> +<I>Marcel Meyer +</I> + +<LI><A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="264"> </A> +<I>Nathan Michaels +</I> + +<LI><A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="284"> </A> +<I>Rolph de Ruiter +</I> + +<LI><A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="286"> </A> +<I>Rolph de Ruiter +</I> + +<LI><A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="260"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="262"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="265"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="267"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000283.html">[99s-extend] Generate url in cowboy +</A><A NAME="283"> </A> +<I>Antonio Valente +</I> + +<LI><A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="266"> </A> +<I>Daniel White +</I> + +<LI><A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="269"> </A> +<I>akonsu +</I> + +<LI><A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="271"> </A> +<I>akonsu +</I> + +<LI><A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="273"> </A> +<I>akonsu +</I> + +<LI><A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="275"> </A> +<I>akonsu +</I> + +<LI><A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="277"> </A> +<I>akonsu +</I> + +<LI><A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="279"> </A> +<I>akonsu +</I> + +<LI><A HREF="000281.html">[99s-extend] handler and a linked process +</A><A NAME="281"> </A> +<I>akonsu +</I> + +<LI><A HREF="000288.html">[99s-extend] REST handler failure +</A><A NAME="288"> </A> +<I>Ivan uemlianin +</I> + +<LI><A HREF="000291.html">[99s-extend] REST handler failure +</A><A NAME="291"> </A> +<I>Ivan uemlianin +</I> + +<LI><A HREF="000268.html">[99s-extend] SSL Example +</A><A NAME="268"> </A> +<I>比邻比特Prinbit +</I> + + </ul> + <p> + <a name="end"><b>Last message date:</b></a> + <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Archived on:</b> <i>Wed May 28 18:41:45 CEST 2014</i> + <p> + <ul> + <li> <b>Messages sorted by:</b> + <a href="thread.html#start">[ thread ]</a> + <a href="subject.html#start">[ subject ]</a> + + <a href="date.html#start">[ date ]</a> + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p> + <hr> + <i>This archive was generated by + Pipermail 0.09 (Mailman edition).</i> + </BODY> +</HTML> + diff --git a/archives/extend/2013-October/date.html b/archives/extend/2013-October/date.html new file mode 100644 index 00000000..dc7c46ef --- /dev/null +++ b/archives/extend/2013-October/date.html @@ -0,0 +1,242 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <title>The Extend October 2013 Archive by date</title> + <META NAME="robots" CONTENT="noindex,follow"> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <a name="start"></A> + <h1>October 2013 Archives by date</h1> + <ul> + <li> <b>Messages sorted by:</b> + <a href="thread.html#start">[ thread ]</a> + <a href="subject.html#start">[ subject ]</a> + <a href="author.html#start">[ author ]</a> + + + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p><b>Starting:</b> <i>Thu Oct 3 07:00:28 CEST 2013</i><br> + <b>Ending:</b> <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Messages:</b> 39<p> + <ul> + +<LI><A HREF="000255.html">[99s-extend] websocket_info and RPC +</A><A NAME="255"> </A> +<I>Marcel Meyer +</I> + +<LI><A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="256"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="257"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="258"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="259"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="260"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="261"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="262"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="263"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="264"> </A> +<I>Nathan Michaels +</I> + +<LI><A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="265"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="266"> </A> +<I>Daniel White +</I> + +<LI><A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="267"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000268.html">[99s-extend] SSL Example +</A><A NAME="268"> </A> +<I>比邻比特Prinbit +</I> + +<LI><A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="269"> </A> +<I>akonsu +</I> + +<LI><A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="270"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="271"> </A> +<I>akonsu +</I> + +<LI><A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="272"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="273"> </A> +<I>akonsu +</I> + +<LI><A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="274"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="275"> </A> +<I>akonsu +</I> + +<LI><A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="276"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="277"> </A> +<I>akonsu +</I> + +<LI><A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="278"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="279"> </A> +<I>akonsu +</I> + +<LI><A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="280"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000281.html">[99s-extend] handler and a linked process +</A><A NAME="281"> </A> +<I>akonsu +</I> + +<LI><A HREF="000282.html">[99s-extend] handler and a linked process +</A><A NAME="282"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000283.html">[99s-extend] Generate url in cowboy +</A><A NAME="283"> </A> +<I>Antonio Valente +</I> + +<LI><A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="284"> </A> +<I>Rolph de Ruiter +</I> + +<LI><A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="285"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="286"> </A> +<I>Rolph de Ruiter +</I> + +<LI><A HREF="000287.html">[99s-extend] REST handler failure +</A><A NAME="287"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000288.html">[99s-extend] REST handler failure +</A><A NAME="288"> </A> +<I>Ivan uemlianin +</I> + +<LI><A HREF="000289.html">[99s-extend] REST handler failure +</A><A NAME="289"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000290.html">[99s-extend] REST handler failure +</A><A NAME="290"> </A> +<I>Tilman Holschuh +</I> + +<LI><A HREF="000291.html">[99s-extend] REST handler failure +</A><A NAME="291"> </A> +<I>Ivan uemlianin +</I> + +<LI><A HREF="000292.html">[99s-extend] REST handler failure +</A><A NAME="292"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000293.html">[99s-extend] REST handler failure +</A><A NAME="293"> </A> +<I>Daniel Goertzen +</I> + + </ul> + <p> + <a name="end"><b>Last message date:</b></a> + <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Archived on:</b> <i>Wed May 28 18:41:45 CEST 2014</i> + <p> + <ul> + <li> <b>Messages sorted by:</b> + <a href="thread.html#start">[ thread ]</a> + <a href="subject.html#start">[ subject ]</a> + <a href="author.html#start">[ author ]</a> + + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p> + <hr> + <i>This archive was generated by + Pipermail 0.09 (Mailman edition).</i> + </BODY> +</HTML> + diff --git a/archives/extend/2013-October/index.html b/archives/extend/2013-October/index.html new file mode 100644 index 00000000..96277f8f --- /dev/null +++ b/archives/extend/2013-October/index.html @@ -0,0 +1,309 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <title>The Extend October 2013 Archive by thread</title> + <META NAME="robots" CONTENT="noindex,follow"> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <a name="start"></A> + <h1>October 2013 Archives by thread</h1> + <ul> + <li> <b>Messages sorted by:</b> + + <a href="subject.html#start">[ subject ]</a> + <a href="author.html#start">[ author ]</a> + <a href="date.html#start">[ date ]</a> + + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p><b>Starting:</b> <i>Thu Oct 3 07:00:28 CEST 2013</i><br> + <b>Ending:</b> <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Messages:</b> 39<p> + <ul> + +<!--0 01380776428.255- --> +<LI><A HREF="000255.html">[99s-extend] websocket_info and RPC +</A><A NAME="255"> </A> +<I>Marcel Meyer +</I> + +<!--0 01381204557.256- --> +<LI><A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="256"> </A> +<I>Ryan Brown +</I> + +<UL> +<!--1 01381204557.256-01381205584.257- --> +<LI><A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="257"> </A> +<I>Loïc Hoguin +</I> + +<UL> +<!--2 01381204557.256-01381205584.257-01381206294.258- --> +<LI><A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="258"> </A> +<I>Ryan Brown +</I> + +<UL> +<!--3 01381204557.256-01381205584.257-01381206294.258-01381246416.259- --> +<LI><A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="259"> </A> +<I>Ryan Brown +</I> + +</UL> +</UL> +</UL> +<!--0 01381325245.260- --> +<LI><A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="260"> </A> +<I>Lee Sylvester +</I> + +<UL> +<!--1 01381325245.260-01381325464.261- --> +<LI><A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="261"> </A> +<I>Loïc Hoguin +</I> + +<UL> +<!--2 01381325245.260-01381325464.261-01381332621.262- --> +<LI><A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="262"> </A> +<I>Lee Sylvester +</I> + +<UL> +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263- --> +<LI><A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="263"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263-01381333874.264- --> +<LI><A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="264"> </A> +<I>Nathan Michaels +</I> + +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263-01381333874.264-01381339720.265- --> +<LI><A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="265"> </A> +<I>Lee Sylvester +</I> + +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263-01381333874.264-01381339720.265-01381359788.266- --> +<LI><A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="266"> </A> +<I>Daniel White +</I> + +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263-01381333874.264-01381339720.265-01381359788.266-01381385123.267- --> +<LI><A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="267"> </A> +<I>Lee Sylvester +</I> + +</UL> +</UL> +</UL> +<!--0 01381801985.268- --> +<LI><A HREF="000268.html">[99s-extend] SSL Example +</A><A NAME="268"> </A> +<I>比邻比特Prinbit +</I> + +<!--0 01381892128.269- --> +<LI><A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="269"> </A> +<I>akonsu +</I> + +<UL> +<!--1 01381892128.269-01381892498.270- --> +<LI><A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="270"> </A> +<I>Loïc Hoguin +</I> + +<UL> +<!--2 01381892128.269-01381892498.270-01381892633.271- --> +<LI><A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="271"> </A> +<I>akonsu +</I> + +<UL> +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272- --> +<LI><A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="272"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273- --> +<LI><A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="273"> </A> +<I>akonsu +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274- --> +<LI><A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="274"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275- --> +<LI><A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="275"> </A> +<I>akonsu +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276- --> +<LI><A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="276"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276-01381896749.277- --> +<LI><A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="277"> </A> +<I>akonsu +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276-01381896749.277-01381898143.278- --> +<LI><A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="278"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276-01381896749.277-01381898143.278-01381898522.279- --> +<LI><A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="279"> </A> +<I>akonsu +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276-01381896749.277-01381898143.278-01381898522.279-01381898885.280- --> +<LI><A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="280"> </A> +<I>Loïc Hoguin +</I> + +</UL> +</UL> +</UL> +<!--0 01382102137.281- --> +<LI><A HREF="000281.html">[99s-extend] handler and a linked process +</A><A NAME="281"> </A> +<I>akonsu +</I> + +<UL> +<!--1 01382102137.281-01382360854.282- --> +<LI><A HREF="000282.html">[99s-extend] handler and a linked process +</A><A NAME="282"> </A> +<I>Loïc Hoguin +</I> + +</UL> +<!--0 01382431874.283- --> +<LI><A HREF="000283.html">[99s-extend] Generate url in cowboy +</A><A NAME="283"> </A> +<I>Antonio Valente +</I> + +<!--0 01383037253.284- --> +<LI><A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="284"> </A> +<I>Rolph de Ruiter +</I> + +<UL> +<!--1 01383037253.284-01383037760.285- --> +<LI><A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="285"> </A> +<I>Loïc Hoguin +</I> + +<!--1 01383037253.284-01383038175.286- --> +<LI><A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="286"> </A> +<I>Rolph de Ruiter +</I> + +</UL> +<!--0 01383078354.287- --> +<LI><A HREF="000287.html">[99s-extend] REST handler failure +</A><A NAME="287"> </A> +<I>Daniel Goertzen +</I> + +<UL> +<!--1 01383078354.287-01383080490.288- --> +<LI><A HREF="000288.html">[99s-extend] REST handler failure +</A><A NAME="288"> </A> +<I>Ivan uemlianin +</I> + +<UL> +<!--2 01383078354.287-01383080490.288-01383145121.289- --> +<LI><A HREF="000289.html">[99s-extend] REST handler failure +</A><A NAME="289"> </A> +<I>Daniel Goertzen +</I> + +<UL> +<!--3 01383078354.287-01383080490.288-01383145121.289-01383146702.290- --> +<LI><A HREF="000290.html">[99s-extend] REST handler failure +</A><A NAME="290"> </A> +<I>Tilman Holschuh +</I> + +<!--3 01383078354.287-01383080490.288-01383145121.289-01383146702.290-01383147997.293- --> +<LI><A HREF="000293.html">[99s-extend] REST handler failure +</A><A NAME="293"> </A> +<I>Daniel Goertzen +</I> + +<!--3 01383078354.287-01383080490.288-01383145121.289-01383146835.291- --> +<LI><A HREF="000291.html">[99s-extend] REST handler failure +</A><A NAME="291"> </A> +<I>Ivan uemlianin +</I> + +<!--3 01383078354.287-01383080490.288-01383145121.289-01383146835.291-01383147167.292- --> +<LI><A HREF="000292.html">[99s-extend] REST handler failure +</A><A NAME="292"> </A> +<I>Daniel Goertzen +</I> + +</UL> +</UL> +</UL> + </ul> + <p> + <a name="end"><b>Last message date:</b></a> + <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Archived on:</b> <i>Wed May 28 18:41:45 CEST 2014</i> + <p> + <ul> + <li> <b>Messages sorted by:</b> + + <a href="subject.html#start">[ subject ]</a> + <a href="author.html#start">[ author ]</a> + <a href="date.html#start">[ date ]</a> + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p> + <hr> + <i>This archive was generated by + Pipermail 0.09 (Mailman edition).</i> + </BODY> +</HTML> + diff --git a/archives/extend/2013-October/subject.html b/archives/extend/2013-October/subject.html new file mode 100644 index 00000000..5d57cab3 --- /dev/null +++ b/archives/extend/2013-October/subject.html @@ -0,0 +1,242 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <title>The Extend October 2013 Archive by subject</title> + <META NAME="robots" CONTENT="noindex,follow"> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <a name="start"></A> + <h1>October 2013 Archives by subject</h1> + <ul> + <li> <b>Messages sorted by:</b> + <a href="thread.html#start">[ thread ]</a> + + <a href="author.html#start">[ author ]</a> + <a href="date.html#start">[ date ]</a> + + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p><b>Starting:</b> <i>Thu Oct 3 07:00:28 CEST 2013</i><br> + <b>Ending:</b> <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Messages:</b> 39<p> + <ul> + +<LI><A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="284"> </A> +<I>Rolph de Ruiter +</I> + +<LI><A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="285"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="286"> </A> +<I>Rolph de Ruiter +</I> + +<LI><A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="260"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="261"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="262"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="263"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="264"> </A> +<I>Nathan Michaels +</I> + +<LI><A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="265"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="266"> </A> +<I>Daniel White +</I> + +<LI><A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="267"> </A> +<I>Lee Sylvester +</I> + +<LI><A HREF="000283.html">[99s-extend] Generate url in cowboy +</A><A NAME="283"> </A> +<I>Antonio Valente +</I> + +<LI><A HREF="000281.html">[99s-extend] handler and a linked process +</A><A NAME="281"> </A> +<I>akonsu +</I> + +<LI><A HREF="000282.html">[99s-extend] handler and a linked process +</A><A NAME="282"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="256"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="257"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="258"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="259"> </A> +<I>Ryan Brown +</I> + +<LI><A HREF="000287.html">[99s-extend] REST handler failure +</A><A NAME="287"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000288.html">[99s-extend] REST handler failure +</A><A NAME="288"> </A> +<I>Ivan uemlianin +</I> + +<LI><A HREF="000289.html">[99s-extend] REST handler failure +</A><A NAME="289"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000290.html">[99s-extend] REST handler failure +</A><A NAME="290"> </A> +<I>Tilman Holschuh +</I> + +<LI><A HREF="000291.html">[99s-extend] REST handler failure +</A><A NAME="291"> </A> +<I>Ivan uemlianin +</I> + +<LI><A HREF="000292.html">[99s-extend] REST handler failure +</A><A NAME="292"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000293.html">[99s-extend] REST handler failure +</A><A NAME="293"> </A> +<I>Daniel Goertzen +</I> + +<LI><A HREF="000268.html">[99s-extend] SSL Example +</A><A NAME="268"> </A> +<I>比邻比特Prinbit +</I> + +<LI><A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="269"> </A> +<I>akonsu +</I> + +<LI><A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="270"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="271"> </A> +<I>akonsu +</I> + +<LI><A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="272"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="273"> </A> +<I>akonsu +</I> + +<LI><A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="274"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="275"> </A> +<I>akonsu +</I> + +<LI><A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="276"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="277"> </A> +<I>akonsu +</I> + +<LI><A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="278"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="279"> </A> +<I>akonsu +</I> + +<LI><A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="280"> </A> +<I>Loïc Hoguin +</I> + +<LI><A HREF="000255.html">[99s-extend] websocket_info and RPC +</A><A NAME="255"> </A> +<I>Marcel Meyer +</I> + + </ul> + <p> + <a name="end"><b>Last message date:</b></a> + <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Archived on:</b> <i>Wed May 28 18:41:45 CEST 2014</i> + <p> + <ul> + <li> <b>Messages sorted by:</b> + <a href="thread.html#start">[ thread ]</a> + + <a href="author.html#start">[ author ]</a> + <a href="date.html#start">[ date ]</a> + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p> + <hr> + <i>This archive was generated by + Pipermail 0.09 (Mailman edition).</i> + </BODY> +</HTML> + diff --git a/archives/extend/2013-October/thread.html b/archives/extend/2013-October/thread.html new file mode 100644 index 00000000..96277f8f --- /dev/null +++ b/archives/extend/2013-October/thread.html @@ -0,0 +1,309 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + <HEAD> + <title>The Extend October 2013 Archive by thread</title> + <META NAME="robots" CONTENT="noindex,follow"> + <META http-equiv="Content-Type" content="text/html; charset=us-ascii"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <a name="start"></A> + <h1>October 2013 Archives by thread</h1> + <ul> + <li> <b>Messages sorted by:</b> + + <a href="subject.html#start">[ subject ]</a> + <a href="author.html#start">[ author ]</a> + <a href="date.html#start">[ date ]</a> + + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p><b>Starting:</b> <i>Thu Oct 3 07:00:28 CEST 2013</i><br> + <b>Ending:</b> <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Messages:</b> 39<p> + <ul> + +<!--0 01380776428.255- --> +<LI><A HREF="000255.html">[99s-extend] websocket_info and RPC +</A><A NAME="255"> </A> +<I>Marcel Meyer +</I> + +<!--0 01381204557.256- --> +<LI><A HREF="000256.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="256"> </A> +<I>Ryan Brown +</I> + +<UL> +<!--1 01381204557.256-01381205584.257- --> +<LI><A HREF="000257.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="257"> </A> +<I>Loïc Hoguin +</I> + +<UL> +<!--2 01381204557.256-01381205584.257-01381206294.258- --> +<LI><A HREF="000258.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="258"> </A> +<I>Ryan Brown +</I> + +<UL> +<!--3 01381204557.256-01381205584.257-01381206294.258-01381246416.259- --> +<LI><A HREF="000259.html">[99s-extend] Problem with cowboy ssl example +</A><A NAME="259"> </A> +<I>Ryan Brown +</I> + +</UL> +</UL> +</UL> +<!--0 01381325245.260- --> +<LI><A HREF="000260.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="260"> </A> +<I>Lee Sylvester +</I> + +<UL> +<!--1 01381325245.260-01381325464.261- --> +<LI><A HREF="000261.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="261"> </A> +<I>Loïc Hoguin +</I> + +<UL> +<!--2 01381325245.260-01381325464.261-01381332621.262- --> +<LI><A HREF="000262.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="262"> </A> +<I>Lee Sylvester +</I> + +<UL> +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263- --> +<LI><A HREF="000263.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="263"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263-01381333874.264- --> +<LI><A HREF="000264.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="264"> </A> +<I>Nathan Michaels +</I> + +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263-01381333874.264-01381339720.265- --> +<LI><A HREF="000265.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="265"> </A> +<I>Lee Sylvester +</I> + +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263-01381333874.264-01381339720.265-01381359788.266- --> +<LI><A HREF="000266.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="266"> </A> +<I>Daniel White +</I> + +<!--3 01381325245.260-01381325464.261-01381332621.262-01381332774.263-01381333874.264-01381339720.265-01381359788.266-01381385123.267- --> +<LI><A HREF="000267.html">[99s-extend] Cowboy Calling Hostname +</A><A NAME="267"> </A> +<I>Lee Sylvester +</I> + +</UL> +</UL> +</UL> +<!--0 01381801985.268- --> +<LI><A HREF="000268.html">[99s-extend] SSL Example +</A><A NAME="268"> </A> +<I>比邻比特Prinbit +</I> + +<!--0 01381892128.269- --> +<LI><A HREF="000269.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="269"> </A> +<I>akonsu +</I> + +<UL> +<!--1 01381892128.269-01381892498.270- --> +<LI><A HREF="000270.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="270"> </A> +<I>Loïc Hoguin +</I> + +<UL> +<!--2 01381892128.269-01381892498.270-01381892633.271- --> +<LI><A HREF="000271.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="271"> </A> +<I>akonsu +</I> + +<UL> +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272- --> +<LI><A HREF="000272.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="272"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273- --> +<LI><A HREF="000273.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="273"> </A> +<I>akonsu +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274- --> +<LI><A HREF="000274.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="274"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275- --> +<LI><A HREF="000275.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="275"> </A> +<I>akonsu +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276- --> +<LI><A HREF="000276.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="276"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276-01381896749.277- --> +<LI><A HREF="000277.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="277"> </A> +<I>akonsu +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276-01381896749.277-01381898143.278- --> +<LI><A HREF="000278.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="278"> </A> +<I>Loïc Hoguin +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276-01381896749.277-01381898143.278-01381898522.279- --> +<LI><A HREF="000279.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="279"> </A> +<I>akonsu +</I> + +<!--3 01381892128.269-01381892498.270-01381892633.271-01381893090.272-01381894306.273-01381894831.274-01381895322.275-01381896446.276-01381896749.277-01381898143.278-01381898522.279-01381898885.280- --> +<LI><A HREF="000280.html">[99s-extend] timeout in cowboy loop handler +</A><A NAME="280"> </A> +<I>Loïc Hoguin +</I> + +</UL> +</UL> +</UL> +<!--0 01382102137.281- --> +<LI><A HREF="000281.html">[99s-extend] handler and a linked process +</A><A NAME="281"> </A> +<I>akonsu +</I> + +<UL> +<!--1 01382102137.281-01382360854.282- --> +<LI><A HREF="000282.html">[99s-extend] handler and a linked process +</A><A NAME="282"> </A> +<I>Loïc Hoguin +</I> + +</UL> +<!--0 01382431874.283- --> +<LI><A HREF="000283.html">[99s-extend] Generate url in cowboy +</A><A NAME="283"> </A> +<I>Antonio Valente +</I> + +<!--0 01383037253.284- --> +<LI><A HREF="000284.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="284"> </A> +<I>Rolph de Ruiter +</I> + +<UL> +<!--1 01383037253.284-01383037760.285- --> +<LI><A HREF="000285.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="285"> </A> +<I>Loïc Hoguin +</I> + +<!--1 01383037253.284-01383038175.286- --> +<LI><A HREF="000286.html">[99s-extend] cowboy_rest, POST and redirect +</A><A NAME="286"> </A> +<I>Rolph de Ruiter +</I> + +</UL> +<!--0 01383078354.287- --> +<LI><A HREF="000287.html">[99s-extend] REST handler failure +</A><A NAME="287"> </A> +<I>Daniel Goertzen +</I> + +<UL> +<!--1 01383078354.287-01383080490.288- --> +<LI><A HREF="000288.html">[99s-extend] REST handler failure +</A><A NAME="288"> </A> +<I>Ivan uemlianin +</I> + +<UL> +<!--2 01383078354.287-01383080490.288-01383145121.289- --> +<LI><A HREF="000289.html">[99s-extend] REST handler failure +</A><A NAME="289"> </A> +<I>Daniel Goertzen +</I> + +<UL> +<!--3 01383078354.287-01383080490.288-01383145121.289-01383146702.290- --> +<LI><A HREF="000290.html">[99s-extend] REST handler failure +</A><A NAME="290"> </A> +<I>Tilman Holschuh +</I> + +<!--3 01383078354.287-01383080490.288-01383145121.289-01383146702.290-01383147997.293- --> +<LI><A HREF="000293.html">[99s-extend] REST handler failure +</A><A NAME="293"> </A> +<I>Daniel Goertzen +</I> + +<!--3 01383078354.287-01383080490.288-01383145121.289-01383146835.291- --> +<LI><A HREF="000291.html">[99s-extend] REST handler failure +</A><A NAME="291"> </A> +<I>Ivan uemlianin +</I> + +<!--3 01383078354.287-01383080490.288-01383145121.289-01383146835.291-01383147167.292- --> +<LI><A HREF="000292.html">[99s-extend] REST handler failure +</A><A NAME="292"> </A> +<I>Daniel Goertzen +</I> + +</UL> +</UL> +</UL> + </ul> + <p> + <a name="end"><b>Last message date:</b></a> + <i>Wed Oct 30 16:46:37 CET 2013</i><br> + <b>Archived on:</b> <i>Wed May 28 18:41:45 CEST 2014</i> + <p> + <ul> + <li> <b>Messages sorted by:</b> + + <a href="subject.html#start">[ subject ]</a> + <a href="author.html#start">[ author ]</a> + <a href="date.html#start">[ date ]</a> + <li><b><a href="https://lists.ninenines.eu/listinfo/extend">More info on this list... + </a></b></li> + </ul> + <p> + <hr> + <i>This archive was generated by + Pipermail 0.09 (Mailman edition).</i> + </BODY> +</HTML> + |