using System.Text;\r
using System.Text.RegularExpressions;\r
using System.Windows.Forms;\r
+using KancolleSniffer.Model;\r
+using KancolleSniffer.Util;\r
\r
namespace KancolleSniffer\r
{\r
\r
public void CheckBattleApi(string url, string request, string response)\r
{\r
- if (!url.EndsWith("api_port/port"))\r
- _battleApiLog.Add(new[] {url, request, response});\r
+ if (_prevBattleState == BattleState.None)\r
+ _battleApiLog.Clear();\r
try\r
{\r
- if (_prevBattleState == BattleState.Result &&\r
+ if (_sniffer.Battle.BattleState != BattleState.None)\r
+ {\r
+ _battleApiLog.Add(new[] {url, request, response});\r
+ }\r
+ else if (_prevBattleState == BattleState.Result &&\r
// battleresultのあとのship_deckかportでのみエラー判定する\r
IsBattleResultError)\r
{\r
{\r
_prevBattleState = _sniffer.Battle.BattleState;\r
}\r
- if (url.EndsWith("api_port/port"))\r
- _battleApiLog.Clear();\r
}\r
\r
private bool IsBattleResultError =>\r
\r
private string HpDiffLog() => string.Join(" ",\r
from pair in _sniffer.BattleResultStatusDiff\r
- let assumed = pair.Assumed\r
+ let assumed = pair.Assumed // こちらのFleetはnull\r
let actual = pair.Actual\r
- select $"({assumed.Fleet}-{assumed.DeckIndex}) {assumed.NowHp}->{actual.NowHp}");\r
+ select $"({actual.Fleet.Number}-{actual.DeckIndex}) {assumed.NowHp}->{actual.NowHp}");\r
\r
public string GenerateErrorLog(string url, string request, string response, string exception)\r
{\r
\r
public static void RemoveUnwantedInformation(ref string request, ref string response)\r
{\r
- var token = new Regex("&api%5Ftoken=.+?(?=&|$)|api%5Ftoken=.+?(?:&|$)");\r
+ var token = new Regex(@"&api(?:%5F|_)token=.+?(?=&|$)|api(?:%5F|_)token=.+?(?:&|$)|api(?:%5F|_)btime=\d+&?");\r
request = token.Replace(request, "");\r
- var id = new Regex(@"""api_member_id"":""\d+?"",?|""api_nickname"":"".+?"",?|""api_nickname_id"":""\d+"",?");\r
+ var id = new Regex(@"""api_member_id"":""?\d+""?,?|""api_nickname"":"".+?"",?|""api_nickname_id"":""\d+"",?|""api_name_id"":"".+?"",?|");\r
response = id.Replace(response, "");\r
+ var name = new Regex(@"""api_name"":"".+?""");\r
+ response = name.Replace(response, @"""api_name"":""""");\r
}\r
\r
private string CompressApi(string api)\r