Ejemplo n.º 1
0
        //private class HarEntry
        //{
        //    public int Index { get; set; }
        //    public Entry Entry { get; set; }
        //    public object Result { get; set; }
        //}

        private IEnumerable <SequenceItem> ProcessEntries(UrlRequest source, Log log)
        {
            // convert entries to sequence item -> send



            var tasks = new List <SequenceItem>();
            var index = 0;

            foreach (var entry in log.Entries)
            {
                tasks.Add(ProcessEntry(source, index++, log, entry));
            }

            //var results = await Task.WhenAll(tasks.ToArray());

            return(tasks);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// This function converts a HarSharp POCO into a series of SequenceItemSend instances
        /// </summary>
        private SequenceItem ProcessEntry(UrlRequest source, int index, Log log, Entry entry)
        {
            var clone       = JsonConvert.SerializeObject(this.sequenceItem);
            var ret         = JsonConvert.DeserializeObject <SequenceItem>(clone);
            var urlTemplate = JsonConvert.DeserializeObject <UrlRequest>(JsonConvert.SerializeObject(source));

            ret.command = $"{ret.command}-har-log-entries[{index}]";
            ret.har     = null;
            ret.send    = new UrlRequest
            {
                url          = entry.Request.Url.AbsoluteUri,
                http_method  = entry.Request.Method,
                body         = entry.Request.PostData?.Text,
                content_type = entry.Request.PostData?.MimeType,
                query        = new KeyValueList(entry.Request.QueryString?.Select(q => new KeyValuePair <string, string>(q.Name, q.Value)).ToList()),
                header       = new KeyValueList(entry.Request.Headers?.Select(q => new KeyValuePair <string, string>(q.Name, q.Value)).ToList()),

                save_body_filename = urlTemplate?.save_body_filename,
                //save_response_filename = urlTemplate?.save_response_filename
                save = urlTemplate.save
            };

            return(ret);
        }