diff --git a/mitmproxy2swagger/har_capture_reader.py b/mitmproxy2swagger/har_capture_reader.py index 9255a88..e6c194f 100644 --- a/mitmproxy2swagger/har_capture_reader.py +++ b/mitmproxy2swagger/har_capture_reader.py @@ -11,23 +11,27 @@ def har_archive_heuristic(file_path: str) -> int: val = 0 # if has the har extension if file_path.endswith(".har"): - val += 15 + val += 25 # read the first 2048 bytes with open(file_path, "rb") as f: data = f.read(2048) - # if file contains only ascii characters - if data.decode("utf-8", "ignore").isprintable() is True: + # if file contains only ascii characters after remove EOL characters + if ( + data.decode("utf-8", "ignore") + .replace("\r", "") + .replace("\n", "") + .isprintable() + is True + ): val += 25 - # if first character is a '{' - if data[0] == "{": + # sign of a JSON file + if data[0:1] == b"{": val += 23 - # if it contains the word '"WebInspector"' - if b'"WebInspector"' in data: + # sign of Chrome OR Firefox export + if b'"WebInspector"' in data or b'"Firefox"' in data: val += 15 - # if it contains the word '"entries"' if b'"entries"' in data: val += 15 - # if it contains the word '"version"' if b'"version"' in data: val += 15 return val