<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/3122/">https://reviewboard.asterisk.org/r/3122/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On January 17th, 2014, 12:38 p.m. CST, <b>Kevin Harwell</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/3122/diff/2/?file=51449#file51449line753" style="color: black; font-weight: bold; text-decoration: underline;">branches/12/res/ari/resource_channels.c</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void ast_ari_channels_originate(struct ast_variable *headers,</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">753</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">if</span> <span class="p">(</span><span class="n">args</span><span class="o">-></span><span class="n">variables</span><span class="p">)</span> <span class="p">{</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">754</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">ast_ari_channels_originate_parse_body</span><span class="p">(</span><span class="n">args</span><span class="o">-></span><span class="n">variables</span><span class="p">,</span> <span class="n">args</span><span class="p">);</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">755</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">variable_list</span> <span class="o">=</span> <span class="n">ast_json_object_get</span><span class="p">(</span><span class="n">args</span><span class="o">-></span><span class="n">variables</span><span class="p">,</span> <span class="s">"variables"</span><span class="p">);</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">756</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="p">}</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm sure you looked into this, but is there no way to have this block of code in the auto generated file res_ari_channels.c?  I'm guessing the answer is no as this is probably the crux of the problem, but figured I'd ask :-)</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This block of code could easily be in the auto-generated code, but having this behavior be the default would break the model that Swagger operates on and would prevent the body parameter from being used in other ways. A body parameter is ALWAYS expected to consume the entirety of the body's JSON; this one just so happens to parse it as if there were no body parameter and only uses one element in the body.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On January 17th, 2014, 12:38 p.m. CST, <b>Kevin Harwell</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/3122/diff/2/?file=51456#file51456line209" style="color: black; font-weight: bold; text-decoration: underline;">branches/12/res/res_ari_channels.c</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static void ast_ari_channels_originate_cb(</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">168</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="cm">/* Parse query parameters out of it */</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">208</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">args</span><span class="p">.</span><span class="n">variables</span> <span class="o">=</span> <span class="n">ast_json_ref</span><span class="p">(</span><span class="n">body</span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Is this line auto generated or did you have to manually enter it?  I know the file is and it would be a shame to have to manually edit that file from here on out.</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This line lives in res_ari_channels.c and so was auto-generated.</pre>
<br />




<p>- opticron</p>


<br />
<p>On January 13th, 2014, 11:09 a.m. CST, opticron wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By opticron.</div>


<p style="color: grey;"><i>Updated Jan. 13, 2014, 11:09 a.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/ASTERISK-23051">ASTERISK-23051</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This adds back in support for specifying channel variables during an originate without compromising the ability to specify query parameters in the JSON body. This was accomplished by generating the body-parsing code in a separate function instead of being integrated with the URI query parameter parsing code such that it could be called by paths with body parameters. This is transparent to the user of the API and prevents manual duplication of code or data structures.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Tested with a slightly modified originate_with_vars test created for the original functionality by Kevin Harwell.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>branches/12/rest-api/api-docs/channels.json <span style="color: grey">(405252)</span></li>

 <li>branches/12/rest-api-templates/res_ari_resource.c.mustache <span style="color: grey">(405252)</span></li>

 <li>branches/12/rest-api-templates/param_parsing.mustache <span style="color: grey">(405252)</span></li>

 <li>branches/12/rest-api-templates/body_parsing.mustache <span style="color: grey">(PRE-CREATION)</span></li>

 <li>branches/12/rest-api-templates/asterisk_processor.py <span style="color: grey">(405252)</span></li>

 <li>branches/12/rest-api-templates/ari_resource.h.mustache <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/res_ari_sounds.c <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/res_ari_playbacks.c <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/res_ari_device_states.c <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/res_ari_channels.c <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/res_ari_bridges.c <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/res_ari_asterisk.c <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/res_ari_applications.c <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/ari/resource_sounds.h <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/ari/resource_playbacks.h <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/ari/resource_device_states.h <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/ari/resource_channels.c <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/ari/resource_channels.h <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/ari/resource_bridges.h <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/ari/resource_asterisk.h <span style="color: grey">(405252)</span></li>

 <li>branches/12/res/ari/resource_applications.h <span style="color: grey">(405252)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/3122/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>