From c8c43f8372a8fee73cbbc4799641830ed6d3e33c Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 9 Apr 2022 17:38:02 +0530 Subject: [PATCH] WebServiceAppsApi: updated InstallAppAsync(), UpdateAppAsync(), and SetAppConfigAsync() to use async IO to read request input stream. --- DnsServerCore/WebServiceAppsApi.cs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/DnsServerCore/WebServiceAppsApi.cs b/DnsServerCore/WebServiceAppsApi.cs index 6db87c45..18fa6de6 100644 --- a/DnsServerCore/WebServiceAppsApi.cs +++ b/DnsServerCore/WebServiceAppsApi.cs @@ -27,6 +27,7 @@ using System.Net; using System.Net.Http; using System.Threading.Tasks; using TechnitiumLibrary; +using TechnitiumLibrary.IO; namespace DnsServerCore { @@ -358,12 +359,9 @@ namespace DnsServerCore while (crlfCount != 4) { - byteRead = request.InputStream.ReadByte(); + byteRead = await request.InputStream.ReadByteValueAsync(); switch (byteRead) { - case -1: - throw new EndOfStreamException(); - case 13: //CR case 10: //LF crlfCount++; @@ -420,12 +418,9 @@ namespace DnsServerCore while (crlfCount != 4) { - byteRead = request.InputStream.ReadByte(); + byteRead = await request.InputStream.ReadByteValueAsync(); switch (byteRead) { - case -1: - throw new EndOfStreamException(); - case 13: //CR case 10: //LF crlfCount++; @@ -510,7 +505,7 @@ namespace DnsServerCore string formRequest; using (StreamReader sR = new StreamReader(request.InputStream, request.ContentEncoding)) { - formRequest = sR.ReadToEnd(); + formRequest = await sR.ReadToEndAsync(); } string[] formParts = formRequest.Split('&');