public static async Task <HeaderSection> CreateNewAsync(string headersString) { headersString = HeaderField.CorrectObsFolding(headersString); var hs = new HeaderSection(); if (headersString.EndsWith(CRLF + CRLF)) { headersString = headersString.TrimEnd(CRLF, StringComparison.Ordinal); } using var reader = new StringReader(headersString); while (true) { var field = reader.ReadLine(strictCRLF: true); if (field is null) { break; } hs.Fields.Add(await HeaderField.CreateNewAsync(field).ConfigureAwait(false)); } ValidateAndCorrectHeaders(hs); return(hs); }