public override IValueProvider GetValueProvider(ControllerContext controllerContext)
{
if (controllerContext == null)
throw new ArgumentNullException(nameof(controllerContext));
HttpRequestBase Request = controllerContext.HttpContext.Request;
if (!Request.ContentType.StartsWith("application/json", StringComparison.OrdinalIgnoreCase))
return null;
string Body = Request.InputStream.ReadAll();
return Body.Is(x => string.IsNullOrEmpty(x)) ? null : new DictionaryValueProvider<object>(ServiceStack.Text.JsonSerializer.DeserializeFromString<ExpandoObject>(Body), CultureInfo.CurrentCulture);
}