Respond with both body and status code in Nancy

Sachman Bhatti picture Sachman Bhatti · Jan 13, 2014 · Viewed 13.4k times · Source

I'm new to Nancy and I want to return both a custom HttpStatusCode and a body (content). If I return an HttpStatusCode, it returns it with a blank body. If I return a string then it returns that as the body but always with a 200 status code of OK.

public class SendSMS : NancyModule
{
    public SendSMS()
    {
        Post["/SendSMS"] = parameters =>
            {
                return HttpStatusCode.BadRequest; // this works, no body
                return "Missing \"to\" parameter"; // this works, 200 status code
                // want to return status code with message
            };
    }
}

Answer

TheCodeJunkie picture TheCodeJunkie · Jan 14, 2014

You could always create an instance of the Response type and set the Body and StatusCode yourself. If you wanted to take a shortcut you could do something like

var r = (Response)"Some string that goes into the body";
r.StatusCode = 123;

return r;