summaryrefslogtreecommitdiffstats
path: root/archives/extend/2014-July/000407.html
diff options
context:
space:
mode:
Diffstat (limited to 'archives/extend/2014-July/000407.html')
-rw-r--r--archives/extend/2014-July/000407.html93
1 files changed, 93 insertions, 0 deletions
diff --git a/archives/extend/2014-July/000407.html b/archives/extend/2014-July/000407.html
new file mode 100644
index 00000000..87466ece
--- /dev/null
+++ b/archives/extend/2014-July/000407.html
@@ -0,0 +1,93 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [99s-extend] [cowboy REST] returning {true, URL} to PUT
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20%5Bcowboy%20REST%5D%20returning%20%7Btrue%2C%20URL%7D%20to%20PUT&In-Reply-To=%3CCAH2nEUgJj1f8_RnXqeKqB1tFaDh%3DqzztOo9XF94S9auQ93dskg%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="000406.html">
+ <LINK REL="Next" HREF="000408.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] [cowboy REST] returning {true, URL} to PUT</H1>
+ <B>Samuel</B>
+ <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20%5Bcowboy%20REST%5D%20returning%20%7Btrue%2C%20URL%7D%20to%20PUT&In-Reply-To=%3CCAH2nEUgJj1f8_RnXqeKqB1tFaDh%3DqzztOo9XF94S9auQ93dskg%40mail.gmail.com%3E"
+ TITLE="[99s-extend] [cowboy REST] returning {true, URL} to PUT">samuelrivas at gmail.com
+ </A><BR>
+ <I>Tue Jul 8 09:12:43 CEST 2014</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000406.html">[99s-extend] tring to understand ranch_conns_sup
+</A></li>
+ <LI>Next message: <A HREF="000408.html">[99s-extend] [cowboy REST] returning {true, URL} to PUT
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#407">[ date ]</a>
+ <a href="thread.html#407">[ thread ]</a>
+ <a href="subject.html#407">[ subject ]</a>
+ <a href="author.html#407">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>Hi,
+
+According to the documentation I should be able to return a new
+location when handling a PUT request when using cowboy_rest protocol:
+
+ The AcceptResource value is the name of the callback that will be
+called if the
+ content-type matches. It is defined as follow.
+
+ Value type: true | {true, URL} | false
+
+That works for &quot;true&quot; and &quot;false&quot; but not for &quot;{true, URL}&quot;, in that
+case the Ranch listener crashes badly[1].
+
+Looking into cowboy_rest.erl I see that the {true, URL} form is
+restricted to POST requests:
+<A HREF="https://github.com/extend/cowboy/blob/master/src/cowboy_rest.erl#L784">https://github.com/extend/cowboy/blob/master/src/cowboy_rest.erl#L784</A>
+
+Is that intentional or should I submit a patch to add at least PUT and
+PATCH to that condition (or remove all of them if that is not guarding
+against something horrible)?
+
+Regards
+
+[1] Ranch crash log:
+Ranch listener http_acceptor had connection process started with
+cowboy_protocol:start_link/4 at &lt;0.2660.0&gt; exit with reason:
+{{case_clause,{{true,&quot;/url&quot;},{http_req,#Port&lt;0.15864&gt;,ranch_tcp,keepalive,&lt;0.2660.0&gt;,&lt;&lt;&quot;PUT&quot;&gt;&gt;,'HTTP/1.1',{{127,0,0,1},56983},&lt;&lt;&quot;localhost&quot;&gt;&gt;,undefined,8080,&lt;&lt;&quot;/order&quot;&gt;&gt;,undefined,&lt;&lt;&gt;&gt;,undefined,[],[{&lt;&lt;&quot;user-agent&quot;&gt;&gt;,&lt;&lt;&quot;curl/7.22.0
+(x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4
+libidn/1.23 librtmp/2.3&quot;&gt;&gt;},{&lt;&lt;&quot;host&quot;&gt;&gt;,&lt;&lt;&quot;localhost:8080&quot;&gt;&gt;},{&lt;&lt;&quot;accept&quot;&gt;&gt;,&lt;&lt;&quot;*/*&quot;&gt;&gt;},{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&lt;&lt;&quot;application/json&quot;&gt;&gt;}],[{&lt;&lt;&quot;content-type&quot;&gt;&gt;,{&lt;&lt;&quot;application&quot;&gt;&gt;,&lt;&lt;&quot;json&quot;&gt;&gt;,[]}},{&lt;&lt;&quot;if-modified-since&quot;&gt;&gt;,undefined},{&lt;&lt;&quot;if-none-match&quot;&gt;&gt;,undefined},{&lt;&lt;&quot;if-unmodified-since&quot;&gt;&gt;,undefined},{&lt;&lt;&quot;if-match&quot;&gt;&gt;,undefined},{&lt;&lt;&quot;accept&quot;&gt;&gt;,[{{&lt;&lt;&quot;*&quot;&gt;&gt;,&lt;&lt;&quot;*&quot;&gt;&gt;,[]},1000,[]}]}],undefined,[{charset,undefined},{media_type,{&lt;&lt;&quot;text&quot;&gt;&gt;,&lt;&lt;&quot;html&quot;&gt;&gt;,[]}}],waiting,undefined,&lt;&lt;&gt;&gt;,false,waiting,[{&lt;&lt;&quot;content-type&quot;&gt;&gt;,[&lt;&lt;&quot;text&quot;&gt;&gt;,&lt;&lt;&quot;/&quot;&gt;&gt;,&lt;&lt;&quot;html&quot;&gt;&gt;,&lt;&lt;&gt;&gt;]}],&lt;&lt;&gt;&gt;,undefined},{state}}},[{cowboy_rest,process_content_type,3,[{file,&quot;src/cowboy_rest.erl&quot;},{line,780}]},{cowboy_protocol,execute,4,[{file,&quot;src/cowboy_protocol.erl&quot;},{line,529}]}]}
+--
+Samuel
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000406.html">[99s-extend] tring to understand ranch_conns_sup
+</A></li>
+ <LI>Next message: <A HREF="000408.html">[99s-extend] [cowboy REST] returning {true, URL} to PUT
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#407">[ date ]</a>
+ <a href="thread.html#407">[ thread ]</a>
+ <a href="subject.html#407">[ subject ]</a>
+ <a href="author.html#407">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>