summaryrefslogtreecommitdiffstats
path: root/archives/extend/attachments/20140203/104f8577/attachment.html
blob: c49806fb57b9073aa7013af796e03cdef4c27816 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<tt>
&lt;div&nbsp;dir=&quot;ltr&quot;&gt;Hi,&lt;div&gt;I&nbsp;have&nbsp;a&nbsp;rest&nbsp;handler&nbsp;that&nbsp;accepts&nbsp;POST&nbsp;and&nbsp;PUT&nbsp;requests&nbsp;with&nbsp;&ldquo;application/json&rdquo;&nbsp;content&nbsp;type.&nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I&nbsp;have&nbsp;content_types_accepted&nbsp;function&nbsp;defined&nbsp;as&nbsp;follows:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;<br>
<br>
&lt;div&gt;&lt;pre&nbsp;style=&quot;font-family:Consolas,&#39;Liberation&nbsp;Mono&#39;,Courier,monospace;font-size:12px;margin-top:0px;margin-bottom:0px;color:rgb(51,51,51);line-height:18px&quot;&gt;&lt;div&nbsp;class=&quot;&quot;&nbsp;id=&quot;LC93&quot;&nbsp;style=&quot;padding-left:10px&quot;&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:rgb(153,0,0);font-weight:bold&quot;&gt;content_types_accepted&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;(&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;Req&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;,&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;State&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;)&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;font-weight:bold&quot;&gt;-&gt;&lt;/span&gt;&lt;/div&gt;<br>
<br>
&lt;div&nbsp;class=&quot;&quot;&nbsp;id=&quot;LC94&quot;&nbsp;style=&quot;padding-left:10px&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;{[{&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;&lsquo;application/json&#39;&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;,&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;from_json&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;}],&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;Req&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;,&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;State&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;}.&lt;/span&gt;&lt;/div&gt;<br>
<br>
&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The&nbsp;problem&nbsp;I&nbsp;have&nbsp;is&nbsp;within&nbsp;a&nbsp;request&nbsp;that&nbsp;has&nbsp;two&nbsp;headers:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Content-type&lt;/b&gt;:&nbsp;application/json&lt;/div&gt;&lt;div&gt;&lt;b&gt;Accept&lt;/b&gt;:&nbsp;application/json&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;<br>
<br>
With&nbsp;this&nbsp;combination&nbsp;I&nbsp;receive&nbsp;&lt;b&gt;406&lt;/b&gt;.&nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;You&nbsp;can&nbsp;repeat&nbsp;it&nbsp;with&nbsp;test:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;http_SUITE.erl:&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;1072&nbsp;rest_postonly(Config)&nbsp;-&gt;&lt;/div&gt;&lt;div&gt;1073&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Client&nbsp;=&nbsp;?config(client,&nbsp;Config),&lt;/div&gt;<br>
<br>
&lt;div&gt;1074&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Headers&nbsp;=&nbsp;[&lt;/div&gt;&lt;div&gt;1075&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&lt;&lt;&quot;content-type&quot;&gt;&gt;,&nbsp;&lt;&lt;&quot;text/plain&quot;&gt;&gt;},&lt;/div&gt;&lt;div&gt;1076&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&lt;&lt;&quot;accept&quot;&gt;&gt;,&nbsp;&lt;&lt;&quot;text/plain&quot;&gt;&gt;}&lt;/div&gt;<br>
<br>
&lt;div&gt;1077&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],&lt;/div&gt;&lt;div&gt;1078&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ok,&nbsp;Client2}&nbsp;=&nbsp;cowboy_client:request(&lt;&lt;&quot;POST&quot;&gt;&gt;,&lt;/div&gt;&lt;div&gt;1079&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;build_url(&quot;/postonly&quot;,&nbsp;Config),&nbsp;Headers,&nbsp;&quot;12345&quot;,&nbsp;Client),&lt;/div&gt;&lt;div&gt;<br>
1080&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ok,&nbsp;204,&nbsp;_,&nbsp;_}&nbsp;=&nbsp;cowboy_client:response(Client2).&lt;/div&gt;<br>
&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;My&nbsp;solution&nbsp;to&nbsp;that&nbsp;was&nbsp;to&nbsp;add&nbsp;a&nbsp;content_types_provided&nbsp;function:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&nbsp;style=&quot;font-family:Consolas,&#39;Liberation&nbsp;Mono&#39;,Courier,monospace;font-size:12px;margin-top:0px;margin-bottom:0px;color:rgb(51,51,51);line-height:18px&quot;&gt;<br>
<br>
&lt;div&nbsp;class=&quot;&quot;&nbsp;id=&quot;LC108&quot;&nbsp;style=&quot;padding-left:10px&quot;&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:rgb(153,0,0);font-weight:bold&quot;&gt;content_types_provided&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;(&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;Req&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;,&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;State&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;)&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;font-weight:bold&quot;&gt;-&gt;&lt;/span&gt;&lt;/div&gt;<br>
<br>
&lt;div&nbsp;class=&quot;&quot;&nbsp;id=&quot;LC109&quot;&nbsp;style=&quot;padding-left:10px&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;ContentTypes&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;font-weight:bold&quot;&gt;=&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;[{{&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;font-weight:bold&quot;&gt;&lt;&lt;&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:rgb(221,17,68)&quot;&gt;&quot;application&quot;&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;font-weight:bold&quot;&gt;&gt;&gt;&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;,&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;font-weight:bold&quot;&gt;&lt;&lt;&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:rgb(221,17,68)&quot;&gt;&quot;json&quot;&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;font-weight:bold&quot;&gt;&gt;&gt;&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;,&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;&#39;*&#39;&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;},&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;to_json&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;}],&lt;/span&gt;&lt;/div&gt;<br>
<br>
&lt;div&nbsp;class=&quot;&quot;&nbsp;id=&quot;LC110&quot;&nbsp;style=&quot;padding-left:10px&quot;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;{&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;ContentTypes&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;,&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;Req&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;,&lt;/span&gt;&nbsp;&lt;span&nbsp;class=&quot;&quot;&nbsp;style=&quot;color:teal&quot;&gt;State&lt;/span&gt;&lt;span&nbsp;class=&quot;&quot;&nbsp;style&gt;}.&lt;/span&gt;&lt;/div&gt;<br>
<br>
&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;But&nbsp;it&nbsp;is&nbsp;useless&nbsp;as&nbsp;&lt;b&gt;to_json&lt;/b&gt;&nbsp;callback&nbsp;registered&nbsp;is&nbsp;not&nbsp;called&nbsp;anyhow.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Adding&nbsp;&lt;b&gt;content_types_provided&lt;/b&gt;&nbsp;function&nbsp;is&nbsp;a&nbsp;correct&nbsp;solution&nbsp;in&nbsp;this&nbsp;case?&lt;/div&gt;<br>
<br>
&lt;div&gt;Or&nbsp;I&nbsp;am&nbsp;missing&nbsp;something&nbsp;here?&lt;/div&gt;&lt;div&gt;&ldquo;Accept&rdquo;&nbsp;header&nbsp;is&nbsp;not&nbsp;relevant&nbsp;only&nbsp;in&nbsp;case&nbsp;of&nbsp;GET&nbsp;requests?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thank&nbsp;for&nbsp;help,&lt;/div&gt;&lt;div&gt;�ukasz&nbsp;Biedrycki&lt;/div&gt;&lt;/div&gt;<br>

</tt>