Every once in a while you need to have access to a json api from another domain.
Thankfully there’s a mechanism to allow this. This Mechanism is called CORS
So before any JSON request is allowed a Options requst will be sent to the corresponding ressource and expects a „Access-Control-Allow-Origin“ header to be present.
There can be different values set for this which is explained in the linked article.
To enable this globally for a NancyFX Module you have to put the following code into it.
// allow CORS Options["/{catchAll*}"] = parameters => { return new Response { StatusCode = HttpStatusCode.Accepted }; }; After += (Context) => { Context.Response.Headers.Add("Access-Control-Allow-Origin", "*"); Context.Response.Headers.Add("Access-Control-Allow-Methods", "PUT, GET, POST, DELETE, OPTIONS"); Context.Response.Headers.Add("Access-Control-Allow-Headers", "Content-Type, x-requested-with, Authorization, Accept, Origin"); };
Hopefully this will help some folks out there