var triple = new List<string>();\r
foreach (var s in new[] {"url: ", "request: ", "response: "})\r
{\r
- var line = stream.ReadLine();\r
- ln++;\r
- if (line == null)\r
- throw new Exception($"ログのurl, request, responseがそろっていません: {ln:d}行目");\r
- if (!line.StartsWith(s))\r
- throw new Exception($"ログに不正な行が含まれています: {ln:d}行目");\r
+ string line;\r
+ do\r
+ {\r
+ line = stream.ReadLine();\r
+ ln++;\r
+ if (line == null)\r
+ throw new Exception($"ログの内容がそろっていません: {ln:d}行目");\r
+ } while (!line.StartsWith(s));\r
triple.Add(line.Substring(s.Length));\r
}\r
var json = JsonParser.Parse(triple[2]);\r
if (_debugLogFile != null)\r
{\r
File.AppendAllText(_debugLogFile,\r
- $"url: {url}\nrequest: {request}\nresponse: {response ?? "(null)"}\n");\r
+ $"date: {DateTime.Now:g}\nurl: {url}\nrequest: {request}\nresponse: {response ?? "(null)"}\n");\r
}\r
}\r
\r
var lines = new List<string>();\r
foreach (var s in new[] {"url: ", "request: ", "response: "})\r
{\r
- // ReSharper disable once PossibleNullReferenceException\r
- if (!_playLog.MoveNext() || !_playLog.Current.StartsWith(s))\r
+ do\r
{\r
- labelPlayLog.Visible = false;\r
- return;\r
- }\r
+ if (!_playLog.MoveNext() || _playLog.Current == null)\r
+ {\r
+ labelPlayLog.Visible = false;\r
+ return;\r
+ }\r
+ } while (!_playLog.Current.StartsWith(s));\r
lines.Add(_playLog.Current.Substring(s.Length));\r
}\r
labelPlayLog.Visible = !labelPlayLog.Visible;\r