<br><br><div class="gmail_quote">On Wed, Apr 6, 2011 at 9:44 AM, Trevor Leffler <span dir="ltr">&lt;<a href="mailto:tleffler@uw.edu">tleffler@uw.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><br></div>
Hi, I&#39;ve also seen the use of HTTP request headers for specifying service API minor versions (and other bits).  In particular, EBay comes to mind; they use v1, v2 in the end-point plus an X-EBAY-SOA-SERVICE-VERSION header.<br>

</blockquote><div><br></div><div>I thought about doing that.  Not sure where I&#39;d hook in to the Catalyst request -- I guess before prepare_action modify the path to insert the version so that the correct version of controllers are used.</div>

<div><br></div><div>That approach might also make it easier to fall back -- if no v2 controller exists then fallback to a previous version.   That way only need to create new controllers for the methods that actually changed.   Hopefully, we are not making new versions very often.</div>

<div><br></div><div><br></div><div><br></div><div>On a side note, we came across this issue with Firefox and X- headers over the last few weeks:</div><div><br></div><div> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=646378">https://bugzilla.mozilla.org/show_bug.cgi?id=646378</a></div>

<div><br></div><div>A customer was complaining of seemingly random failures and by logging request headers we could see that the requests that failed were missing all the X- headers. And for these requests the X- headers was necessary.  (The load balancer was depending on the header to route the request to the correct web server.)</div>

<meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br></div><div> </div></div>-- <br>Bill Moseley<br><a href="mailto:moseley@hank.org" target="_blank">moseley@hank.org</a><br>