HTTP-Method Override

The REST Services API has built-in support the X-HTTP-Method-Override header. Sometimes because of a browser or client limitation, sometimes because of a really tense corporate firewall you can't work with PUT or DELETE methods in your REST Service.

One thing you can do is to "tunnel" HTTP Methods inside another HTTP Header. Basically you have a header that says "No, seriously, I know I got here via a POST, but use this one instead." You would still POST, but then you'd have "X-HTTP-Method-Override:PUT" as a header.

POST /api/Person/4 HTTP/1.1
Host: localhost:10320
Content-Type: application/json
X-HTTP-Method-Override: PUT
Cache-Control: no-cache