title: Why I cannot set 'Allow' in HTTP response header?
body: <p>I've written a RESTful API using ASP.NET Web Api. Now I'm trying to make it returns the allowed verbs for a controller. I'm trying to do it with the following code:</p>
  
  <pre><code>[AcceptVerbs("OPTIONS")]
  public HttpResponseMessage Options()
  {
      var response = new HttpResponseMessage(HttpStatusCode.OK);
      response.Headers.Add("Access-Control-Allow-Origin", "*");
      response.Headers.Add("Access-Control-Allow-Methods", "POST");
      response.Headers.Add("Allow", "POST");
  
      return response;
  }
  </code></pre>
  
  <p>But instead of getting a Allow Header on my response, I'm getting a <code>500 Internal Server Error</code>. While debugging I receive the following error:</p>
  
  <pre><code>{"Misused header name. Make sure request headers are used with HttpRequestMessage, response headers with HttpResponseMessage, and content headers with HttpContent objects."}
  </code></pre>
  
  <p>Is that possible to set that header?</p>