summaryrefslogtreecommitdiffstats
path: root/_build/static/archives/extend/2014-July/000408.html
diff options
context:
space:
mode:
Diffstat (limited to '_build/static/archives/extend/2014-July/000408.html')
-rw-r--r--_build/static/archives/extend/2014-July/000408.html104
1 files changed, 104 insertions, 0 deletions
diff --git a/_build/static/archives/extend/2014-July/000408.html b/_build/static/archives/extend/2014-July/000408.html
new file mode 100644
index 00000000..2edee0bc
--- /dev/null
+++ b/_build/static/archives/extend/2014-July/000408.html
@@ -0,0 +1,104 @@
+<!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=%3C53BBC078.80006%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="000407.html">
+ <LINK REL="Next" HREF="000409.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[99s-extend] [cowboy REST] returning {true, URL} to PUT</H1>
+ <B>Lo&#239;c Hoguin</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=%3C53BBC078.80006%40ninenines.eu%3E"
+ TITLE="[99s-extend] [cowboy REST] returning {true, URL} to PUT">essen at ninenines.eu
+ </A><BR>
+ <I>Tue Jul 8 11:57:12 CEST 2014</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="000407.html">[99s-extend] [cowboy REST] returning {true, URL} to PUT
+</A></li>
+ <LI>Next message: <A HREF="000409.html">[99s-extend] [cowboy REST] returning {true, URL} to PUT
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#408">[ date ]</a>
+ <a href="thread.html#408">[ thread ]</a>
+ <a href="subject.html#408">[ subject ]</a>
+ <a href="author.html#408">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>It's not enabled for PATCH or PUT because it makes little sense for
+them. PATCH and PUT are typically used directly on the URI of the
+resource, even when creating it. While you can return a &quot;better URI&quot; for
+the created resource for them, this should be seen as a special case
+rather than the norm. You can still do it by setting the location header
+manually and Cowboy will react accordingly.
+
+On 07/08/2014 09:12 AM, Samuel wrote:
+&gt;<i> Hi,
+</I>&gt;<i>
+</I>&gt;<i> According to the documentation I should be able to return a new
+</I>&gt;<i> location when handling a PUT request when using cowboy_rest protocol:
+</I>&gt;<i>
+</I>&gt;<i> The AcceptResource value is the name of the callback that will be
+</I>&gt;<i> called if the
+</I>&gt;<i> content-type matches. It is defined as follow.
+</I>&gt;<i>
+</I>&gt;<i> Value type: true | {true, URL} | false
+</I>&gt;<i>
+</I>&gt;<i> That works for &quot;true&quot; and &quot;false&quot; but not for &quot;{true, URL}&quot;, in that
+</I>&gt;<i> case the Ranch listener crashes badly[1].
+</I>&gt;<i>
+</I>&gt;<i> Looking into cowboy_rest.erl I see that the {true, URL} form is
+</I>&gt;<i> restricted to POST requests:
+</I>&gt;<i> <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>
+</I>&gt;<i>
+</I>&gt;<i> Is that intentional or should I submit a patch to add at least PUT and
+</I>&gt;<i> PATCH to that condition (or remove all of them if that is not guarding
+</I>&gt;<i> against something horrible)?
+</I>&gt;<i>
+</I>&gt;<i> Regards
+</I>&gt;<i>
+</I>&gt;<i> [1] Ranch crash log:
+</I>&gt;<i> Ranch listener http_acceptor had connection process started with
+</I>&gt;<i> cowboy_protocol:start_link/4 at &lt;0.2660.0&gt; exit with reason:
+</I>&gt;<i> {{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
+</I>&gt;<i> (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4
+</I>&gt;<i> 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}]}]}
+</I>&gt;<i>
+</I>
+--
+Lo&#239;c Hoguin
+<A HREF="http://ninenines.eu">http://ninenines.eu</A>
+</PRE>
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="000407.html">[99s-extend] [cowboy REST] returning {true, URL} to PUT
+</A></li>
+ <LI>Next message: <A HREF="000409.html">[99s-extend] [cowboy REST] returning {true, URL} to PUT
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#408">[ date ]</a>
+ <a href="thread.html#408">[ thread ]</a>
+ <a href="subject.html#408">[ subject ]</a>
+ <a href="author.html#408">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
+mailing list</a><br>
+</body></html>