Beispiel #1
0
        public static void Serialize(JsonWriter writer, InvokeItem item, Format format)
        {
            writer.WriteStartObject();

            if (format.Ready)
            {
                writer.Write("Ready", item.Ready);
            }

            if (format.Completed)
            {
                writer.Write("Completed", item.Completed);
            }

            if (format.TimeoutInSeconds)
            {
                writer.Write("TimeoutInSeconds", item.TimeoutInSeconds);
            }

            if (format.Script)
            {
                writer.Write("Script", item.Script);
            }

            if ((format.Request != null) && (item.Request != null))
            {
                writer.WriteName("Request");
                InvokeRequest.Serialize(writer, item.Request, format.Request);
            }

            if ((format.Response != null) && (item.Response != null))
            {
                writer.WriteName("Response");
                InvokeResponse.Serialize(writer, item.Response, format.Response);
            }

            writer.WriteEndObject();
        }
        public static InvokeRequest Deserialize(JsonObject json)
        {
            JsonValue bodyJson;
            var       hasBody = json.TryGetValue("Body", out bodyJson);
            var       item    = new InvokeRequest()
            {
                Url    = json.GetStringValue("Url"),
                Method = json.GetStringValue("Method"),
                Body   = hasBody ? (bodyJson.JsonType == JsonType.String ? (string)bodyJson : bodyJson.ToString()) : string.Empty,
            };

            var headersJson = json.GetJsonObject("Headers");

            if (headersJson != null)
            {
                item.Headers.Clear();
                foreach (var key in headersJson.Keys)
                {
                    item.Headers[key] = headersJson[key];
                }
            }
            return(item);
        }
Beispiel #3
0
        public static InvokeItem Deserialize(JsonObject json)
        {
            var item = new InvokeItem()
            {
                Ready            = json.GetBooleanValue("Ready"),
                TimeoutInSeconds = json.GetIntValue("TimeoutInSeconds"),
                Script           = json.GetStringValue("Script"),
            };

            var requestJson = json.GetJsonObject("Request");

            if (requestJson != null)
            {
                item.Request = InvokeRequest.Deserialize(requestJson);
            }
            var responseJson = json.GetJsonObject("Response");

            if (responseJson != null)
            {
                item.Response = InvokeResponse.Deserialize(responseJson);
            }
            return(item);
        }
Beispiel #4
0
 public InvokeItem()
 {
     Request  = new InvokeRequest();
     Response = new InvokeResponse();
 }