summaryrefslogtreecommitdiffstats
path: root/_build/static/archives/extend/attachments/20140520/cf7632e9/attachment.html
blob: a759aa50a3a470cc88e1c070c7d6d02aed9ed5b8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
<tt>
&lt;div&nbsp;dir=&quot;ltr&quot;&gt;Hello.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;First&nbsp;of&nbsp;all,&nbsp;thanks&nbsp;for&nbsp;the&nbsp;great&nbsp;work&nbsp;you&#39;ve&nbsp;done&nbsp;with&nbsp;cowboy.&nbsp;I&#39;ve&nbsp;been&nbsp;using&nbsp;it&nbsp;with&nbsp;a&nbsp;fait&nbsp;amount&nbsp;of&nbsp;success&nbsp;and&nbsp;I&#39;m&nbsp;a&nbsp;fairly&nbsp;new&nbsp;Erlang&nbsp;developer.&nbsp;I&#39;m&nbsp;mainly&nbsp;interested&nbsp;in&nbsp;the&nbsp;REST&nbsp;&quot;interface&quot;&nbsp;of&nbsp;the&nbsp;application&nbsp;and&nbsp;its&nbsp;way&nbsp;of&nbsp;doing&nbsp;RESTful&nbsp;things,&nbsp;and&nbsp;I&nbsp;like&nbsp;the&nbsp;way&nbsp;you&nbsp;did&nbsp;it&nbsp;(what&nbsp;with&nbsp;all&nbsp;the&nbsp;content_types_provided,&nbsp;service_available,&nbsp;etc.&nbsp;functions).&nbsp;I&#39;ve&nbsp;tested&nbsp;the&nbsp;way&nbsp;the&nbsp;system&nbsp;reacted&nbsp;to&nbsp;the&nbsp;different&nbsp;Accept,&nbsp;Content-Type,&nbsp;etc.&nbsp;headers&nbsp;and&nbsp;always&nbsp;got&nbsp;very&nbsp;well-opinionated&nbsp;responses&nbsp;(406,&nbsp;415,&nbsp;...).&lt;/div&gt;<br>
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;A&nbsp;couple&nbsp;of&nbsp;questions&nbsp;remain&nbsp;though&nbsp;(I&#39;m&nbsp;sorry&nbsp;if&nbsp;they&#39;ve&nbsp;been&nbsp;asked&nbsp;already&nbsp;but&nbsp;I&#39;ve&nbsp;searched&nbsp;the&nbsp;web&nbsp;for&nbsp;answers&nbsp;and&nbsp;read&nbsp;the&nbsp;available&nbsp;docs&nbsp;and&nbsp;couldn&#39;t&nbsp;find&nbsp;them):&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;<br>
&lt;div&gt;1.&nbsp;is&nbsp;it&nbsp;expected&nbsp;that,&nbsp;if&nbsp;I&nbsp;use&nbsp;cowboy_req:reply/2&nbsp;in&nbsp;a&nbsp;GET&nbsp;handler&nbsp;(coming&nbsp;from&nbsp;content_types_provided),&nbsp;the&nbsp;onresponse/4&nbsp;hook&nbsp;be&nbsp;called&nbsp;twice?&nbsp;I&nbsp;guess&nbsp;one&nbsp;is&nbsp;due&nbsp;to&nbsp;the&nbsp;reply&nbsp;and&nbsp;the&nbsp;other&nbsp;one&nbsp;due&nbsp;to&nbsp;the&nbsp;workflow&nbsp;of&nbsp;the&nbsp;request,&nbsp;but&nbsp;is&nbsp;there&nbsp;a&nbsp;way&nbsp;to&nbsp;prevent&nbsp;the&nbsp;second&nbsp;execution?&lt;/div&gt;<br>
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;2.&nbsp;if&nbsp;I&nbsp;want&nbsp;to&nbsp;JSON-parse&nbsp;ALL&nbsp;my&nbsp;requests&nbsp;should&nbsp;I&nbsp;a)&nbsp;use&nbsp;the&nbsp;onrequest/1&nbsp;hook&nbsp;or&nbsp;b)&nbsp;do&nbsp;this&nbsp;on&nbsp;a&nbsp;per-request&nbsp;basis?&nbsp;Because&nbsp;I&#39;d&nbsp;like&nbsp;to&nbsp;reply&nbsp;with&nbsp;a&nbsp;400&nbsp;ASAP&nbsp;but&nbsp;keep&nbsp;going&nbsp;if&nbsp;the&nbsp;JSON&nbsp;validates&nbsp;(I&#39;m&nbsp;going&nbsp;to&nbsp;use&nbsp;JSON-schema&nbsp;for&nbsp;validating&nbsp;input);&nbsp;and,&nbsp;if&nbsp;possible,&nbsp;have&nbsp;the&nbsp;JSON-parsed&nbsp;body&nbsp;stored&nbsp;somewhere&nbsp;for&nbsp;future&nbsp;manipulation.&lt;/div&gt;<br>
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;3.&nbsp;I&nbsp;haven&#39;t&nbsp;seen&nbsp;examples&nbsp;that&nbsp;made&nbsp;use&nbsp;of&nbsp;the&nbsp;State&nbsp;(from&nbsp;the&nbsp;function&nbsp;returns).&nbsp;When&nbsp;should&nbsp;I&nbsp;use&nbsp;this&nbsp;instead&nbsp;of&nbsp;the&nbsp;Request&nbsp;metadata?&nbsp;I&#39;d&nbsp;like&nbsp;to&nbsp;be&nbsp;able&nbsp;to&nbsp;set&nbsp;a&nbsp;generic&nbsp;error&nbsp;state&nbsp;for&nbsp;a&nbsp;request&nbsp;(either&nbsp;in&nbsp;meta&nbsp;ou&nbsp;State)&nbsp;and&nbsp;that&nbsp;have&nbsp;a&nbsp;&quot;standard&quot;&nbsp;error&nbsp;response&nbsp;be&nbsp;created&nbsp;at&nbsp;a&nbsp;later&nbsp;time&nbsp;(in&nbsp;a&nbsp;unique&nbsp;function,&nbsp;for&nbsp;example&nbsp;-&nbsp;e.g.&nbsp;onresponse/4).&lt;/div&gt;<br>
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;4.&nbsp;is&nbsp;there&nbsp;anything&nbsp;like&nbsp;a&nbsp;catch-all&nbsp;exception&nbsp;handler?&nbsp;I&#39;d&nbsp;like&nbsp;to&nbsp;catch&nbsp;exceptions&nbsp;that&nbsp;occur&nbsp;anywhere&nbsp;so&nbsp;I&nbsp;could&nbsp;log&nbsp;them&nbsp;and&nbsp;analyze&nbsp;them&nbsp;at&nbsp;a&nbsp;later&nbsp;moment.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I&#39;m&nbsp;probably&nbsp;abusing&nbsp;the&nbsp;onresponse/onrequest&nbsp;hooks&nbsp;already,&nbsp;so&nbsp;your&nbsp;answers&nbsp;should&nbsp;help&nbsp;me&nbsp;clarify&nbsp;this.&lt;/div&gt;<br>
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-&nbsp;Paulo&lt;/div&gt;&lt;/div&gt;<br>

</tt>