Return HttpStatusCode in the Response

Chad Wilkin picture Chad Wilkin · Oct 11, 2013 · Viewed 10.2k times · Source

Is there a easy way to return just a HttpStatusCode for my api? I've found a slightly more verbose way to do this

return Response.AsJson(new object(), HttpStatusCode.NoContent);

I've taken a look at the Response class's source code and I see

 public static implicit operator Response(HttpStatusCode statusCode) { ... }

Is this what I'm looking for? If so how do I use it, what I'd really like would be able to do is

return Response(HttpStatusCode.NoContent);

Answer

nemesv picture nemesv · Oct 11, 2013

You can just directly return a HttpStatusCode from your action:

Get["/hello/"] = parameters => {
    return HttpStatusCode.NoContent;
};

From the documentation:

The Response object declares several implicit cast operators which enables an action to also return, instead of a Response object, any of the following

  1. int which will be interpreted as a HTTP status code of the response
  2. HttpStatusCode enumerable value
  3. string which will be interpreted as the body of the response
  4. Action<Stream> which is a function that writes to the response stream