The documentation for requestMethod on nsIHttpChannel says:
63 * Set/get the HTTP request method (default is "GET"). Setter is case
64 * insensitive; getter returns an uppercase string.
That's not actually what we do, though. In particular, that's not what the getter does. See http://lists.w3.org/Archives/Public/public-webapi/2006Apr/0352.html for a description of our behavior.
In general, the whole thread starting at http://lists.w3.org/Archives/Public/public-webapi/2006Apr/0126.html is worth skimming; the question is whether we would be able to implement case-sensitive request methods if the XMLHttpRequest spec demanded them.
the idl is clear now that getter and setter is case sensitive