Exemplo n.º 1
0
        static async Task Main(string[] args)
        {
            // begin - setup some sample data

            var bytaData        = Encoding.UTF8.GetBytes("{\"Title\":\"A second book title\"}");
            var failingByteData = Encoding.UTF8.GetBytes("{\"Title\":\"A second book title\""); // missing trailing brace

            var toProcess = new List <(ReadOnlyMemory <char>, ReadOnlyMemory <byte>)>();

            for (int i = 0; i < 127; i++)
            {
                toProcess.Add((Guid.NewGuid().ToString().AsMemory(), bytaData.AsMemory()));
            }

            toProcess.Add((Guid.NewGuid().ToString().AsMemory(), failingByteData.AsMemory()));

            HttpClientHandler handler = new HttpClientHandler()
            {
                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
            };

            // end - setup some sample data

            Console.WriteLine("Ready!!");
            Console.ReadKey();

            var client = new HttpClient(handler);

            using (var request = new BulkRequest())
            {
                request.AttachContentStream(toProcess);

                var response = await client.SendAsync(request.GetHttpRequestMessage(), HttpCompletionOption.ResponseHeadersRead);

                if (response.IsSuccessStatusCode)
                {
                    using (var contentStream = await response.Content.ReadAsStreamAsync())
                    {
                        var(success, errors) = await BulkResponseParser.FromStreamAsync(contentStream);
                    }
                }
            }

            Console.WriteLine("Done!!");
            Console.ReadKey();
        }
Exemplo n.º 2
0
 public void ParseResponseOriginal(Stream stream)
 {
     stream.Seek(0, SeekOrigin.Begin);
     _ = BulkResponseParser.ParseResponse(stream);
 }
Exemplo n.º 3
0
        public async Task ParseResponse(Stream stream)
        {
            stream.Position = 0;

            await BulkResponseParser.FromStreamAsync(stream);
        }