private async Task ParseParamFromBody(Parameter param) { if (body == null) { var content = await Request.GetBodyAsync(); if (Request.ContentType.StartsWith("application/json")) { if (!string.IsNullOrEmpty(content)) { body = JObject.Parse(content); } } else if (Request.ContentType.StartsWith("multipart/form-data")) { body = Request.Form.ToJObject(); } else { body = content; } } var value = new ReferenceValueType { Value = body }; info.Options.ApplyParameterValue?.Invoke(value, param.ParamName, info, this); var actual = value.Value is JObject jObject?jObject.ToString(Formatting.None) : value.Value; npngParameters.Add(new NpgsqlParameter(param.ParamName, actual)); }
private void ParseCustomParam(Parameter param) { var value = new ReferenceValueType(); var routeValue = this.ControllerContext.RouteData?.Values?[param.ParamName]; if (routeValue != null) { value.Value = routeValue; } info.Options.ApplyParameterValue?.Invoke(value, param.ParamName, info, this); npngParameters.Add(new NpgsqlParameter(param.ParamName, value.Value)); }
private void ParseParamFromQueryString(Parameter param) { if (query == null) { query = Request.Query.ToJObject(); } var value = new ReferenceValueType { Value = query }; info.Options.ApplyParameterValue?.Invoke(value, param.ParamName, info, this); npngParameters.Add(new NpgsqlParameter(param.ParamName, ((JObject)value.Value).ToString(Formatting.None))); }
private void ParseMatchParamsByBFormKeyName(Parameter param) { if (Request.Form[param.ParamName] == StringValues.Empty) { ParseCustomParam(param); } else { var value = new ReferenceValueType { Value = string.Join("", Request.Form[param.ParamName].ToArray()) }; info.Options.ApplyParameterValue?.Invoke(value, param.ParamName, info, this); npngParameters.Add(new NpgsqlParameter(param.ParamName, value.Value)); } }