From 9c9649931098d93d0d102d870c82ad05c7aca60d Mon Sep 17 00:00:00 2001 From: Martin Lee Date: Wed, 15 Apr 2020 08:53:43 +0100 Subject: [PATCH] Ensure data skip to miss line endings in content --- .../LowLevelHttpClientTests.cs | 22 +++++++++++++++++++ .../CustomHttpResponseMessage.cs | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/SuccessfulCodeTools.Tests/LowLevelHttpClientTests.cs b/SuccessfulCodeTools.Tests/LowLevelHttpClientTests.cs index 72387c1..745d8ee 100644 --- a/SuccessfulCodeTools.Tests/LowLevelHttpClientTests.cs +++ b/SuccessfulCodeTools.Tests/LowLevelHttpClientTests.cs @@ -31,5 +31,27 @@ namespace SuccessfulCodeTools.Tests //Act //Assert } + + [Fact] + public void CheckLowLevelHttpClientEntries() + { + //Arrange + + var message = new CustomHttpRequestMessage(HttpMethod.Get, "https://www.britishhorseracing.com/feeds/v3/races/2019/11095/0/entries"); + + message.Headers.Add("Accept", "application/json, text/plain, */*"); + message.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"); + //message.Headers.TryAddWithoutValidation("Authorization", CurrentToken); + message.Headers.Add("Authorization", "ZDg5ODljODNiNGExZWE5ODA4MGQ2NjliMjFhYWY1MDE="); + message.Headers.Add("Accept", "application/json"); + message.Headers.Add("accept-encoding", "gzip, deflate"); + message.Headers.Add("Accept-Language", $"en-US,en;q=0.9;id={Guid.NewGuid()}"); + message.Headers.Add("Cookie", "D_ZID=3F37C446-48FB-3F85-B8D2-66FC90A17473; D_ZUID=27B27203-7708-3F5E-8C01-86A8BF3A21DD; D_HID=BC00CAA4-06EE-39E0-8579-A00DCFA20171; D_SID=188.172.158.138:JT/OEx87nl5ScspTQk38UsDfuIz94DbCf5CYsIC7WpU; __utmz=36595059.1586780062.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); bha-ie-test=true; __utmc=36595059; D_IID=A18DB74E-9ABD-33E1-BF94-96209AF6178E; D_UID=9CDC96FD-4EFE-308E-BC28-2F105AC0B01B; __utma=36595059.39554265.1586780062.1586852673.1586858200.9; __utmt=1; __utmb=36595059.1.10.1586858200; bha_token=%7B%22token%22%3A%22ZDg5ODljODNiNGExZWE5ODA4MGQ2NjliMjFhYWY1MDE%3D%22%2C%22timestamp%22%3A1586858202223%7D"); + var client = new CustomHttpClient(); + var response = client.SendAsync(message).Result; + //Act + //Assert + Assert.True(response.IsSuccessStatusCode); + } } } diff --git a/SuccessfulCodeTools/LowLevelHttpClient/CustomHttpResponseMessage.cs b/SuccessfulCodeTools/LowLevelHttpClient/CustomHttpResponseMessage.cs index 2e35c5e..6d16b67 100644 --- a/SuccessfulCodeTools/LowLevelHttpClient/CustomHttpResponseMessage.cs +++ b/SuccessfulCodeTools/LowLevelHttpClient/CustomHttpResponseMessage.cs @@ -60,7 +60,7 @@ namespace SuccessfulCodeTools.LowLevelHttpClient break; chunkIndexes.Add(new KeyValuePair(lengthEnd + 2, length)); - nextIndex = BinaryMatch(data, carriageReturnBytes, lengthEnd + 2) + 2; + nextIndex = BinaryMatch(data, carriageReturnBytes, lengthEnd + 2 + length) + 2; } }