From 58bed5d8f11d15f94103d1ef2c4da24cb41167da Mon Sep 17 00:00:00 2001 From: Nick Abalov Date: Fri, 16 Sep 2016 16:55:08 +0700 Subject: [PATCH] Fix listener crashing on empty incoming request --- .../Listener/JWPListener.cs | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Winium.StoreApps.Driver/Listener/JWPListener.cs b/Winium.StoreApps.Driver/Listener/JWPListener.cs index f2fe3e9..48a2ec1 100644 --- a/Winium.StoreApps.Driver/Listener/JWPListener.cs +++ b/Winium.StoreApps.Driver/Listener/JWPListener.cs @@ -97,19 +97,27 @@ public void StartListening() using (var stream = client.GetStream()) { var acceptedRequest = HttpRequest.ReadFromStreamWithoutClosing(stream); - Logger.Debug("ACCEPTED REQUEST {0}", acceptedRequest.StartingLine); - var response = this.HandleRequest(acceptedRequest); - using (var writer = new StreamWriter(stream)) + if (string.IsNullOrWhiteSpace(acceptedRequest.StartingLine)) { - try - { - writer.Write(response); - writer.Flush(); - } - catch (IOException ex) + Logger.Warn("ACCEPTED EMPTY REQUEST"); + } + else + { + Logger.Debug("ACCEPTED REQUEST {0}", acceptedRequest.StartingLine); + + var response = this.HandleRequest(acceptedRequest); + using (var writer = new StreamWriter(stream)) { - Logger.Error("Error occured while writing response: {0}", ex); + try + { + writer.Write(response); + writer.Flush(); + } + catch (IOException ex) + { + Logger.Error("Error occured while writing response: {0}", ex); + } } }