public void SaveRequestBody([NotNull] JsonRpcRequestBase body) { RawContext.Properties[BodyKey] = body; }
private void ValidateRequestFormat([NotNull] HttpContextPipelineHandlerContext context, [NotNull] out JsonRpcRequestBase payload) { var c = RpcSessionContext.Wrap(context); foreach (var validator in _validators) { validator.Validate(c); } var body = context.HttpContext.Request.Body.ReadAllBytes(); var o = Utilities.Serializer.Deserialize <JObject>(body); Trace.Assert(o != null, nameof(o) + " != null"); // TODO: check object properties // e.g.: o.ContainsKey("method") if (o.ContainsKey("id")) { payload = o.ToObject <JsonRpcRequest>(); } else { payload = o.ToObject <JsonRpcNotification>(); } }