<div dir="ltr"><div>On Thu, Jun 5, 2014 at 3:42 PM, Michael Brown <span dir="ltr"><<a href="mailto:mcb30@ipxe.org" target="_blank">mcb30@ipxe.org</a>></span> wrote:<br></div><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">On 05/06/14 13:49, Kristian Van Der Vliet wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I was hoping to use the HTTP POST & params support in the latest<br>
versions of iPXE to perform a simple POST to a custom application, which<br>
would allow me to capture various bits of information (like the MAC &<br>
System Serial). However it seems that no matter what I do, the HTTP<br>
request is always performed as a GET.<br>
</blockquote>
<br></div>
I am unable to reproduce this problem.  I see an HTTP POST show up in wireshark.<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
iPXE performs the HTTP request, and even seems to recognise that I've<br>
got ##params at the end of the URL. The other end of the HTTP request is<br>
a custom Sinatra application with:<br>
<br>
get "/ipxe/:uuid/discover" do<br>
   puts "iPXE GET"<br>
   halt(404)<br>
end<br>
<br>
post "/ipxe/:uuid/discover" do<br>
   puts "iPXE POST"<br>
   halt(404)<br>
end<br>
<br>
I've confirmed that only the GET handler is ever called.<br>
</blockquote>
<br></div>
Could you try using wireshark to observe what actually goes over the wire?  I suspect the problem may be on your server side.<div class=""><br></div></blockquote><div class="gmail_quote"><br></div>Sure. Wireshark shows a GET: <a href="https://www.cloudshark.org/captures/b1088305ff3f">https://www.cloudshark.org/captures/b1088305ff3f</a></div>
<div class="gmail_quote"><br></div><div class="gmail_quote">I can also see that the server is working using Curl to issue a GET and POST to the same endpoint, and Sinatra routes those correctly.</div><div class="gmail_quote">
<br></div><div class="gmail_quote">This is with a version of undionly.kpxe built from todays Git master.<br><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Also is there a cleaner method to perform a "pure" HTTP POST that isn't<br>
in some way abusing the chain or img* commands?<br>
</blockquote>
<br></div>
No; you have to use the img* commands.  (Otherwise, where is the potential output from the POST supposed to go?)</blockquote><div><br></div><div>Nowhere; which is what I want! I'd like to use iPXE to provide certain information (E.g. UUID, Serials etc.) back to a central server so I can track and later find them for system provisioning, so all I need to do is POST the data that iPXE can tell me to a REST endpoint and then have iPXE continue as though nothing at all has happened. I can work around it with</div>
<div><br></div><div>chain <a href="http://example.com.">http://example.com.</a>..##params || goto next</div><div>:next</div><div>...</div><div><br></div><div>but that's still a hack and produces a spurious error (the nicest I can manage is to return 401 from the REST endpoint, which is at least quick and painless)</div>
<div><br></div></div>-- <br><div dir="ltr"><p style="font-size:13px;line-height:17.328125px;color:rgb(51,51,51);padding:0px;margin-bottom:10px;font-family:Arial,Helvetica,FreeSans,sans-serif"><a href="http://dyn.com/" rel="nofollow" style="color:rgb(0,109,175);outline:none" target="_blank"><img alt="Dyn logo, Dyn.com" src="http://dyn.com/wp-content/uploads/2013/08/dyn-logo-esignature.png" style="border: none;"></a>        <a href="http://twitter.com/dyn" rel="nofollow" style="color:rgb(0,109,175);outline:none" target="_blank"><img src="http://dyn.com/wp-content/uploads/2013/08/esignature-icon-dyn-twitter.png" style="border: none;"></a><a href="http://twitter.com/dyninc" rel="nofollow" style="color:rgb(0,109,175);outline:none" target="_blank">   </a><a href="http://facebook.com/dyn" rel="nofollow" style="color:rgb(0,109,175);outline:none" target="_blank"><img alt="Dyn facebook account" src="http://dyn.com/wp-content/uploads/2013/08/esignature-icon-dyn-facebook.png" style="border: none;"></a><a href="http://twitter.com/dyninc" rel="nofollow" style="color:rgb(0,109,175);outline:none" target="_blank">   </a><a href="http://linkedin.com/company/dyn" rel="nofollow" style="color:rgb(0,109,175);outline:none" target="_blank"><img alt="Dyn LinkedIn account" src="http://dyn.com/wp-content/uploads/2013/08/esignature-icon-dyn-linkedin.png" style="border: none;"></a></p>
<p style="font-size:13px;line-height:17.328125px;color:rgb(51,51,51);padding:0px;margin-bottom:10px;font-family:Arial,Helvetica,FreeSans,sans-serif"><span style="font-family:'Trebuchet MS';font-size:13px;line-height:19px"><span style="color:rgb(0,0,0);background-color:rgb(255,249,37)">Kristian Van Der Vliet</span>  / <span style="color:rgb(102,102,102)">System Engineer, DevTools</span> <br>
<span style="color:rgb(102,102,102)"><img alt="" src="http://dyn.com/wp-content/uploads/2013/08/esignature-icon-cell.png" style="border: 0px;"> +44 7983 258 707</span><br><span style="color:rgb(255,249,37);background-color:rgb(0,0,0)"><span style="color:rgb(255,255,255)"></span></span></span></p>
</div>
</div></div>