Nancy (C#): How do I get my post data?

Westerlund.io picture Westerlund.io · Jul 26, 2014 · Viewed 25.3k times · Source

I'm using Corona SDK to post data to my C# server:

headers["Content-Type"] = "application/x-www-form-urlencoded"
headers["Accept-Language"] = "en-US"

local body = "color=red&size=small"

local params = {}
params.headers = headers
params.body = body

network.request( host .. "/UpdateHand", "POST", nwListener, params )

I receive a message on the server:

  Post["/UpdateHand"] = x =>
        {
            Console.WriteLine("Received ...");
            return "Ok";
        };

But when I check the data (when I put a breakpoint on it) I don't see where my data is locaded (i.e. the params.body or params.headers). How can I extract this information?

I should POST it correctly according to the documentation on Corona: http://docs.coronalabs.com/daily/api/library/network/request.html

Answer

Christian Horsdal picture Christian Horsdal · Jul 26, 2014

The post data is in

this.Request.Body

If you have suitable type you can deserialize your data to it using model binding:

var x = this.Bind<YourType>();